Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java (original) +++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java Mon Apr 4 05:45:45 2016 @@ -30,6 +30,7 @@ import java.util.Date; import java.util.HashMap; import java.util.Hashtable; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.TimeZone; @@ -41,14 +42,12 @@ import org.apache.openmeetings.db.dao.ro import org.apache.openmeetings.db.dao.server.ISessionManager; import org.apache.openmeetings.db.dao.server.SessiondataDao; import org.apache.openmeetings.db.dao.user.IUserManager; -import org.apache.openmeetings.db.dao.user.StateDao; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.room.Client; import org.apache.openmeetings.db.entity.room.Room; import org.apache.openmeetings.db.entity.server.Sessiondata; import org.apache.openmeetings.db.entity.user.Group; import org.apache.openmeetings.db.entity.user.GroupUser; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.util.CalendarPatterns; import org.apache.openmeetings.util.OmException; @@ -68,8 +67,6 @@ public class MobileService { @Autowired private UserDao userDao; @Autowired - private StateDao stateDao; - @Autowired private IUserManager userManager; @Autowired private SessiondataDao sessionDao; @@ -94,10 +91,10 @@ public class MobileService { return result; } - public Map<Long, String> getStates() { - Map<Long, String> result = new Hashtable<>(); - for (State s : stateDao.get()) { - result.put(s.getId(), s.getName()); + public Map<String, String> getStates() { + Map<String, String> result = new Hashtable<>(); + for (String code : Locale.getISOCountries()) { + result.put(code, new Locale.Builder().setRegion(code).build().getDisplayCountry()); } return result; } @@ -135,7 +132,7 @@ public class MobileService { } String password = umap.get("password"); String tzId = umap.get("tzId"); - Long stateId = Long.valueOf(umap.get("stateId")); + String country = umap.get("stateId"); Long langId = Long.valueOf(umap.get("langId")); //FIXME TODO unify with Register dialog @@ -147,7 +144,7 @@ public class MobileService { && 1 == cfgDao.getConfValue("sendEmailWithVerficationCode", Integer.class, "0"); Long userId = userManager.registerUserInit(UserDao.getDefaultRights(), login, password, lastname , firstname, email, null /* age/birthday */, "" /* street */ - , "" /* additionalname */, "" /* fax */, "" /* zip */, stateId + , "" /* additionalname */, "" /* fax */, "" /* zip */, country , "" /* town */, langId, true /* sendWelcomeMessage */ , Arrays.asList(cfgDao.getConfValue(CONFIG_DEFAULT_GROUP_ID, Long.class, null)), "" /* phone */, false, sendConfirmation, TimeZone.getTimeZone(tzId),
Modified: openmeetings/application/trunk/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java (original) +++ openmeetings/application/trunk/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java Mon Apr 4 05:45:45 2016 @@ -100,6 +100,7 @@ public class AsfCopyRightReplace { private void scanFolder(File folder) { for (File javaFile : folder.listFiles(new FilenameFilter() { + @Override public boolean accept(File b, String name) { return name.endsWith(".java") || name.endsWith(".vm"); } @@ -108,6 +109,7 @@ public class AsfCopyRightReplace { } for (File javaFile : folder.listFiles(new FilenameFilter() { + @Override public boolean accept(File b, String name) { return name.endsWith(".xml") || name.endsWith(".lzx"); } @@ -116,6 +118,7 @@ public class AsfCopyRightReplace { } for (File folderFile : folder.listFiles(new FilenameFilter() { + @Override public boolean accept(File b, String name) { File f = new File(b, name); return f.isDirectory(); @@ -126,15 +129,12 @@ public class AsfCopyRightReplace { } private void scanAndWriteXMLFile(File javaFile) { - try { - System.out.println("Processing " + javaFile.getCanonicalPath()); - - BufferedReader is = new BufferedReader(new InputStreamReader( - new FileInputStream(javaFile), StandardCharsets.UTF_8)); + StringWriter strWriter = new StringWriter(); + try (BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(javaFile), StandardCharsets.UTF_8))) { + log.debug("Processing " + javaFile.getCanonicalPath()); String line; String firstline = ""; - StringWriter strWriter = new StringWriter(); int i = 0; while ((line = is.readLine()) != null) { @@ -146,8 +146,6 @@ public class AsfCopyRightReplace { } else if (firstline.startsWith("<library")) { strWriter.append(asf_xml_copyright); } - - } else if (i == 1) { if (firstline.startsWith("<?xml ") && !line.startsWith("<!--")) { @@ -163,29 +161,24 @@ public class AsfCopyRightReplace { strWriter.append(line + "\n"); i++; } - is.close(); - - OutputStreamWriter out = new OutputStreamWriter( - new FileOutputStream(javaFile.getCanonicalPath()), StandardCharsets.UTF_8); + } catch (Exception err) { + log.error("Error while scanAndWriteXMLFile", err); + } + try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(javaFile), StandardCharsets.UTF_8)) { out.write(strWriter.toString()); out.flush(); - out.close(); - } catch (Exception err) { log.error("Error while scanAndWriteXMLFile", err); } } private void scanAndWriteJavaFile(File javaFile) { - try { - System.out.println("Processing " + javaFile.getCanonicalPath()); - - BufferedReader is = new BufferedReader(new InputStreamReader( - new FileInputStream(javaFile), StandardCharsets.UTF_8)); + StringWriter strWriter = new StringWriter(); + try (BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(javaFile), StandardCharsets.UTF_8))) { + log.debug("Processing " + javaFile.getCanonicalPath()); String line; - StringWriter strWriter = new StringWriter(); int i = 0; while ((line = is.readLine()) != null) { @@ -200,18 +193,14 @@ public class AsfCopyRightReplace { strWriter.append(line + "\n"); i++; } - is.close(); - - OutputStreamWriter out = new OutputStreamWriter( - new FileOutputStream(javaFile.getCanonicalPath()), StandardCharsets.UTF_8); - + } catch (Exception err) { + log.error("Error while scanAndWriteJavaFile", err); + } + try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(javaFile), StandardCharsets.UTF_8)) { out.write(strWriter.toString()); out.flush(); - out.close(); - } catch (Exception err) { log.error("Error while scanAndWriteJavaFile", err); } } - } Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java (original) +++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java Mon Apr 4 05:45:45 2016 @@ -195,20 +195,10 @@ public class LabelDao implements IDataPr private static List<StringLabel> getLabels(Locale l) { List<StringLabel> labels = new ArrayList<StringLabel>(); - InputStream is = null; - try { - is = APP.getResourceAsStream(getLabelFileName(l)); + try (InputStream is = APP.getResourceAsStream(getLabelFileName(l))) { labels = getLabels(l, is); } catch (Exception e) { log.error("Error reading resources document", e); - } finally { - if (is != null) { - try { - is.close(); - } catch (Exception e) { - //no-op - } - } } return labels; } Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java (original) +++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java Mon Apr 4 05:45:45 2016 @@ -27,7 +27,6 @@ import java.util.Map; import java.util.Set; import java.util.TimeZone; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Right; import org.apache.openmeetings.db.entity.user.Userdata; @@ -37,13 +36,13 @@ public interface IUserManager { Long registerUser(String login, String Userpass, String lastname, String firstname, String email, Date age, String street, - String additionalname, String fax, String zip, long stateId, + String additionalname, String fax, String zip, String country, String town, long languageId, String phone, boolean sendSMS, boolean generateSipUserData, String jNameTimeZone, Boolean sendConfirmation); Long registerUserInit(Set<Right> rights, String login, String password, String lastname, String firstname, String email, Date age, String street, - String additionalname, String fax, String zip, long stateId, + String additionalname, String fax, String zip, String country, String town, long languageId, boolean sendWelcomeMessage, List<Long> groups, String phone, boolean sendSMS, Boolean sendConfirmation, TimeZone timezone, Boolean forceTimeZoneCheck, @@ -51,7 +50,6 @@ public interface IUserManager { Boolean showContactDataToContacts, String activatedHash) throws Exception; Long getLanguage(Locale loc); - State getCountry(Locale loc); User loginOAuth(Map<String, String> params, long serverId) throws IOException, NoSuchAlgorithmException; /** TODO FIXME seems to be unused **/ Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java (original) +++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java Mon Apr 4 05:45:45 2016 @@ -29,6 +29,7 @@ import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.TimeZone; @@ -81,8 +82,6 @@ public class UserDao implements IDataPro @Autowired private ConfigurationDao cfgDao; @Autowired - private StateDao stateDao; - @Autowired private TimezoneUtil timezoneUtil; public static Set<Right> getDefaultRights() { @@ -109,7 +108,7 @@ public class UserDao implements IDataPro user.setSendSMS(false); user.setAge(new Date()); Address address = new Address(); - address.setState(stateDao.get(1L)); + address.setCountry(Locale.getDefault().getCountry()); user.setAddress(address); user.setShowContactData(false); user.setShowContactDataToContacts(false); @@ -622,12 +621,12 @@ public class UserDao implements IDataPro return update(u, u.getId()); } - public Address getAddress(String street, String zip, String town, long stateId, String additionalname, String fax, String phone, String email) { + public Address getAddress(String street, String zip, String town, String country, String additionalname, String fax, String phone, String email) { Address a = new Address(); a.setStreet(street); a.setZip(zip); a.setTown(town); - a.setState(stateDao.get(stateId)); + a.setCountry(country); a.setAdditionalname(additionalname); a.setComment(""); a.setFax(fax); Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Address.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Address.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Address.java (original) +++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Address.java Mon Apr 4 05:45:45 2016 @@ -22,13 +22,10 @@ import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.JoinColumn; import javax.persistence.Lob; -import javax.persistence.ManyToOne; import javax.persistence.Table; import org.apache.openmeetings.db.entity.IDataProviderEntity; @@ -63,10 +60,9 @@ public class Address implements IDataPro @Element(name = "starttime",data=true, required=false) private Date inserted; - @ManyToOne(fetch = FetchType.EAGER) - @JoinColumn(name = "state_id") - @Element(name="state_id", data=true, required=false) - private State state; + @Column(name = "country") + @Element(name="country", data=true, required=false) + private String country; @Column(name = "street") @Element(data=true, required=false) @@ -134,12 +130,12 @@ public class Address implements IDataPro this.inserted = inserted; } - public State getState() { - return state; + public String getCountry() { + return country; } - public void setState(State state) { - this.state = state; + public void setCountry(String country) { + this.country = country; } public String getStreet() { @@ -200,7 +196,7 @@ public class Address implements IDataPro @Override public String toString() { - return "Address [id=" + id + ", state=" + state + return "Address [id=" + id + ", country=" + country + ", street=" + street + ", town=" + town + ", zip=" + zip + ", deleted=" + deleted + ", email=" + email + ", phone=" + phone + "]"; Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java (original) +++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java Mon Apr 4 05:45:45 2016 @@ -59,7 +59,6 @@ import org.apache.openmeetings.db.entity import org.apache.openmeetings.db.entity.server.LdapConfig; import org.apache.openmeetings.db.entity.user.Group; import org.apache.openmeetings.db.entity.user.PrivateMessage; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Salutation; import org.apache.openmeetings.util.OmFileHelper; @@ -333,7 +332,6 @@ public class BackupExport { { List<Configuration> list = configurationDao.getConfigurations(0, Integer.MAX_VALUE, "c.id", true); Registry registry = new Registry(); - registry.bind(State.class, StateConverter.class); registry.bind(User.class, UserConverter.class); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); @@ -407,12 +405,12 @@ public class BackupExport { log.debug("---Done"); } - private <T> void writeList(Serializer ser, File backup_dir, String fileName, String listElement, List<T> list) throws Exception { + private static <T> void writeList(Serializer ser, File backup_dir, String fileName, String listElement, List<T> list) throws Exception { FileOutputStream fos = new FileOutputStream(new File(backup_dir, fileName)); writeList(ser, fos, listElement, list); } - private <T> void writeList(Serializer ser, OutputStream os, String listElement, List<T> list) throws Exception { + private static <T> void writeList(Serializer ser, OutputStream os, String listElement, List<T> list) throws Exception { Format format = new Format("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); OutputNode doc = NodeBuilder.write(new OutputStreamWriter(os, StandardCharsets.UTF_8), format); OutputNode root = doc.getChild("root"); @@ -442,7 +440,6 @@ public class BackupExport { Serializer serializer = new Persister(strategy); registry.bind(Group.class, GroupConverter.class); - registry.bind(State.class, StateConverter.class); registry.bind(Salutation.class, SalutationConverter.class); if (list != null && list.size() > 0) { Class<?> dateClass = list.get(0).getRegdate() != null ? list.get(0).getRegdate().getClass() : list.get(0).getInserted().getClass(); Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java (original) +++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java Mon Apr 4 05:45:45 2016 @@ -29,8 +29,8 @@ import static org.apache.openmeetings.ut import static org.apache.openmeetings.util.OmFileHelper.getUploadRoomDir; import static org.apache.openmeetings.util.OmFileHelper.profilesPrefix; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT_KEY; -import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LDAP_ID; +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.io.File; import java.io.FileInputStream; @@ -44,6 +44,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.UUID; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -71,7 +72,6 @@ import org.apache.openmeetings.db.dao.se import org.apache.openmeetings.db.dao.user.GroupDao; import org.apache.openmeetings.db.dao.user.PrivateMessageDao; import org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao; -import org.apache.openmeetings.db.dao.user.StateDao; import org.apache.openmeetings.db.dao.user.UserContactDao; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.basic.ChatMessage; @@ -94,7 +94,6 @@ import org.apache.openmeetings.db.entity import org.apache.openmeetings.db.entity.user.Group; import org.apache.openmeetings.db.entity.user.PrivateMessage; import org.apache.openmeetings.db.entity.user.PrivateMessageFolder; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Right; import org.apache.openmeetings.db.entity.user.User.Salutation; @@ -123,12 +122,11 @@ import org.xml.sax.InputSource; public class BackupImport { private static final Logger log = Red5LoggerFactory.getLogger(BackupImport.class, webAppRootKey); private static final String LDAP_EXT_TYPE = "LDAP"; + private static final Properties countries = new Properties(); @Autowired private AppointmentDao appointmentDao; @Autowired - private StateDao statemanagement; - @Autowired private RoomDao roomDao; @Autowired private UserDao userDao; @@ -930,7 +928,6 @@ public class BackupImport { Serializer ser = new Persister(strategy); registry.bind(Group.class, new GroupConverter(groupDao, groupMap)); - registry.bind(State.class, new StateConverter(statemanagement)); registry.bind(Salutation.class, SalutationConverter.class); registry.bind(Date.class, DateConverter.class); @@ -996,7 +993,7 @@ public class BackupImport { item1 = listNode1.getNext(); //HACK to handle Address inside user } while (item1 != null && !"user".equals(item1.getName())); } - String levelId = null, status = null; + String levelId = null, status = null, stateId = null; do { if (u.getTimeZoneId() == null && "omTimeZone".equals(item2.getName())) { String jName = item2.getValue(); @@ -1008,6 +1005,9 @@ public class BackupImport { if ("status".equals(item2.getName())) { status = item2.getValue(); } + if ("state_id".equals(item2.getName())) { + stateId = item2.getValue(); + } item2 = listNode2.getNext(); //HACK to handle old om_time_zone, level_id, status } while (item2 != null && !"user".equals(item2.getName())); if (u.getRights().isEmpty()) { @@ -1033,6 +1033,16 @@ public class BackupImport { } userEmailMap.put(u.getAddress().getEmail(), userEmailMap.size()); } + // check old stateId + if (!Strings.isEmpty(stateId)) { + String country = getCountry(stateId); + if (!Strings.isEmpty(country)) { + if (u.getAddress() == null) { + u.setAddress(new Address()); + } + u.getAddress().setCountry(country); + } + } list.add(u); item = listNode.getNext(); } @@ -1142,4 +1152,15 @@ public class BackupImport { } return newId; } + + private static String getCountry(String countryId) { + if (countries.isEmpty()) { + try (InputStream is = BackupImport.class.getResourceAsStream("countries.properties")) { + countries.load(is); + } catch (IOException e) { + log.error("Unexpected exception during countries import", e); + } + } + return countries.getProperty(String.format("country.%s", countryId)); + } } Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original) +++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Mon Apr 4 05:45:45 2016 @@ -61,7 +61,6 @@ import org.apache.openmeetings.db.dao.ro import org.apache.openmeetings.db.dao.room.SipDao; import org.apache.openmeetings.db.dao.server.OAuth2Dao; import org.apache.openmeetings.db.dao.user.GroupDao; -import org.apache.openmeetings.db.dao.user.StateDao; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.basic.ErrorValue; import org.apache.openmeetings.db.entity.basic.Naviglobal; @@ -90,8 +89,6 @@ public class ImportInitvalues { @Autowired private UserDao userDao; @Autowired - private StateDao statemanagement; - @Autowired private NavigationDao navimanagement; @Autowired private ErrorDao errorDao; @@ -446,33 +443,6 @@ public class ImportInitvalues { } } - /** - * import all language Names from the xml file - * - * @param filePath - * @throws Exception - */ - private void loadCountriesFiles() throws Exception { - SAXReader reader = new SAXReader(); - Document document = reader.read(new File( - OmFileHelper.getLanguagesDir(), - OmFileHelper.nameOfCountriesFile)); - - Element root = document.getRootElement(); - - for (@SuppressWarnings("rawtypes") - Iterator it = root.elementIterator("country"); it.hasNext();) { - Element item = (Element) it.next(); - - statemanagement.add(item.attributeValue("name"), - item.attributeValue("short"), - Integer.parseInt(item.attributeValue("code"))); - } - log.debug("Countries ADDED"); - } - - // ------------------------------------------------------------------------------ - public void loadInitialOAuthServers() throws Exception { // Yandex OAuthServer yandexServer = new OAuthServer(); @@ -543,9 +513,6 @@ public class ImportInitvalues { progress = 32; loadErrorMappingsFromXML(); progress = 48; - loadCountriesFiles(); - progress = 64; - loadConfiguration(cfg); progress = 80; loadInitialOAuthServers(); Added: openmeetings/application/trunk/openmeetings-install/src/main/resources/org/apache/openmeetings/backup/countries.properties URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/resources/org/apache/openmeetings/backup/countries.properties?rev=1737626&view=auto ============================================================================== --- openmeetings/application/trunk/openmeetings-install/src/main/resources/org/apache/openmeetings/backup/countries.properties (added) +++ openmeetings/application/trunk/openmeetings-install/src/main/resources/org/apache/openmeetings/backup/countries.properties Mon Apr 4 05:45:45 2016 @@ -0,0 +1,254 @@ +################################################################################ +## +## Licensed to the Apache Software Foundation (ASF) under one or more +## contributor license agreements. See the NOTICE file distributed with +## this work for additional information regarding copyright ownership. +## The ASF licenses this file to You under the Apache License, Version 2.0 +## (the "License"); you may not use this file except in compliance with +## the License. You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, +## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +## See the License for the specific language governing permissions and +## limitations under the License. +## +################################################################################ +country.1=AF +country.2=AX +country.3=AL +country.4=DZ +country.5=AS +country.6=AD +country.7=AO +country.8=AI +country.9=AG +country.10=AR +country.11=AM +country.12=AW +country.13=AU +country.14=AT +country.15=AZ +country.16=BS +country.17=BH +country.18=BD +country.19=BB +country.20=BY +country.21=BE +country.22=BZ +country.23=BJ +country.24=BM +country.25=BT +country.26=BO +country.27=BA +country.28=BW +country.29=BR +country.30=VG +country.31=BN +country.32=BG +country.33=BF +country.34=BI +country.35=KH +country.36=CM +country.37=CA +country.38=CV +country.39=KY +country.40=CF +country.41=TD +country.42=GB +country.43=CL +country.44=CN +country.45=HK +country.46=MO +country.47=CO +country.48=KM +country.49=CG +country.50=CK +country.51=CR +country.52=CI +country.53=HR +country.54=CU +country.55=CY +country.56=CZ +country.57=KP +country.58=CD +country.59=DK +country.60=DJ +country.61=DM +country.62=DO +country.63=EC +country.64=EG +country.65=SV +country.66=GQ +country.67=ER +country.68=EE +country.69=ET +country.70=FO +country.71=FK +country.72=FJ +country.73=FI +country.74=FR +country.75=GF +country.76=PF +country.77=GA +country.78=GM +country.79=GE +country.80=DE +country.81=GH +country.82=GI +country.83=GR +country.84=GL +country.85=GD +country.86=GP +country.87=GU +country.88=GT +country.89=GG +country.90=GN +country.91=GW +country.92=GY +country.93=HT +country.94=VA +country.95=HN +country.96=HU +country.97=IS +country.98=IN +country.99=ID +country.100=IR +country.101=IQ +country.102=IE +country.103=IM +country.104=IL +country.105=IT +country.106=JM +country.107=JP +country.108=JE +country.109=JO +country.110=KZ +country.111=KE +country.112=KI +country.113=KW +country.114=KG +country.115=LA +country.116=LV +country.117=LB +country.118=LS +country.119=LR +country.120=LY +country.121=LI +country.122=LT +country.123=LU +country.124=MG +country.125=MW +country.126=MY +country.127=MV +country.128=ML +country.129=MT +country.130=MH +country.131=MQ +country.132=MR +country.133=MU +country.134=YT +country.135=MX +country.136=FM +country.137=MC +country.138=MN +country.139=ME +country.140=MS +country.141=MA +country.142=MZ +country.143=MM +country.144=NA +country.145=NR +country.146=NP +country.147=NL +country.148=AN +country.149=NC +country.150=NZ +country.151=NI +country.152=NE +country.153=NG +country.154=NU +country.155=NF +country.156=MP +country.157=NO +country.158=PS +country.159=OM +country.160=PK +country.161=PW +country.162=PA +country.163=PG +country.164=PY +country.165=PE +country.166=PH +country.167=PN +country.168=PL +country.169=PT +country.170=PR +country.171=QA +country.172=KR +country.173=MD +country.174=RE +country.175=RO +country.176=RU +country.177=RW +country.178=SH +country.179=KN +country.180=LC +country.181=PM +country.182=VC +country.183=WS +country.184=SM +country.185=ST +country.186=SA +country.187=SN +country.188=RS +country.189=SC +country.190=SL +country.191=SG +country.192=SK +country.193=SI +country.194=SB +country.195=SO +country.196=ZA +country.197=ES +country.198=LK +country.199=SD +country.200=SR +country.201=SJ +country.202=SZ +country.203=SE +country.204=CH +country.205=SY +country.206=TW +country.207=TJ +country.208=TH +country.209=MK +country.210=TL +country.211=TG +country.212=TK +country.213=TO +country.214=TT +country.215=TN +country.216=TR +country.217=TM +country.218=TC +country.219=TV +country.220=UG +country.221=UA +country.222=AE +country.223=GB +country.224=TZ +country.225=US +country.226=VI +country.227=UY +country.228=UZ +country.229=VU +country.230=VE +country.231=VN +country.232=WF +country.233=EH +country.234=YE +country.235=ZM +country.236=ZW Modified: openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/ScreenV1Encoder.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/ScreenV1Encoder.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/ScreenV1Encoder.java (original) +++ openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/ScreenV1Encoder.java Mon Apr 4 05:45:45 2016 @@ -70,7 +70,7 @@ public class ScreenV1Encoder extends Bas zipBuf = new byte[3 * blockSize * blockSize]; } - private VideoData getData(byte[] data) { + private static VideoData getData(byte[] data) { IoBuffer buf = IoBuffer.allocate(data.length); buf.clear(); buf.put(data); @@ -78,6 +78,7 @@ public class ScreenV1Encoder extends Bas return new VideoData(buf); } + @Override public void createUnalteredFrame() throws IOException { if (last == null) { return; @@ -99,6 +100,7 @@ public class ScreenV1Encoder extends Bas } } + @Override public VideoData getUnalteredFrame() { if (unalteredFrame != null && (frameCount % keyFrameIndex) != 0) { frameCount++; @@ -106,6 +108,7 @@ public class ScreenV1Encoder extends Bas return unalteredFrame; } + @Override public synchronized VideoData encode(int[][] img) throws IOException { ba.reset(); Rectangle imgArea = new Rectangle(img.length, img[0].length); @@ -125,6 +128,7 @@ public class ScreenV1Encoder extends Bas return getData(ba.toByteArray()); } + @Override public void reset() { last = null; unalteredFrame = null; @@ -180,7 +184,7 @@ public class ScreenV1Encoder extends Bas return ((frame & 0x0F) << 4) + ((codec & 0x0F) << 0); } - private void writeShort(OutputStream os, final int n) throws IOException { + private static void writeShort(OutputStream os, final int n) throws IOException { os.write((n >> 8) & 0xFF); os.write((n >> 0) & 0xFF); } Modified: openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java (original) +++ openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java Mon Apr 4 05:45:45 2016 @@ -48,16 +48,14 @@ import org.apache.openmeetings.db.dao.ba import org.apache.openmeetings.db.dao.label.LabelDao; import org.apache.openmeetings.db.dao.server.ISessionManager; import org.apache.openmeetings.db.dao.server.SessiondataDao; -import org.apache.openmeetings.db.dao.user.IUserManager; import org.apache.openmeetings.db.dao.user.GroupDao; -import org.apache.openmeetings.db.dao.user.StateDao; +import org.apache.openmeetings.db.dao.user.IUserManager; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.dto.basic.SearchResult; import org.apache.openmeetings.db.entity.room.Client; import org.apache.openmeetings.db.entity.server.Sessiondata; import org.apache.openmeetings.db.entity.user.Address; import org.apache.openmeetings.db.entity.user.GroupUser; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Right; import org.apache.openmeetings.db.entity.user.User.Type; @@ -92,8 +90,6 @@ public class UserManager implements IUse @Autowired private ConfigurationDao cfgDao; @Autowired - private StateDao stateDao; - @Autowired private GroupDao groupDao; @Autowired private UserDao userDao; @@ -287,9 +283,10 @@ public class UserManager implements IUse * @param sendConfirmation * @return */ + @Override public Long registerUser(String login, String Userpass, String lastname, String firstname, String email, Date age, String street, - String additionalname, String fax, String zip, long stateId, + String additionalname, String fax, String zip, String country, String town, long languageId, String phone, boolean sendSMS, boolean generateSipUserData, String jNameTimeZone, Boolean sendConfirmation) { try { @@ -305,7 +302,7 @@ public class UserManager implements IUse Long userId = registerUserInit(UserDao.getDefaultRights(), login, Userpass, lastname, firstname, email, age, street, - additionalname, fax, zip, stateId, town, languageId, + additionalname, fax, zip, country, town, languageId, true, Arrays.asList(cfgDao.getConfValue(CONFIG_DEFAULT_GROUP_ID, Long.class, null)), phone, sendSMS, sendConfirmation, timezoneUtil.getTimeZone(jNameTimeZone), false, "", "", false, true, null); @@ -354,9 +351,10 @@ public class UserManager implements IUse * or mail is empty * @throws Exception */ + @Override public Long registerUserInit(Set<Right> rights, String login, String password, String lastname, String firstname, String email, Date age, String street, - String additionalname, String fax, String zip, long stateId, + String additionalname, String fax, String zip, String country, String town, long languageId, boolean sendWelcomeMessage, List<Long> groups, String phone, boolean sendSMS, Boolean sendConfirmation, TimeZone timezone, Boolean forceTimeZoneCheck, @@ -384,7 +382,7 @@ public class UserManager implements IUse return -19L; } } - Address adr = userDao.getAddress(street, zip, town, stateId, additionalname, fax, phone, email); + Address adr = userDao.getAddress(street, zip, town, country, additionalname, fax, phone, email); // If this user needs first to click his E-Mail verification // code then set the status to 0 @@ -426,6 +424,7 @@ public class UserManager implements IUse * @param room_id * @return */ + @Override public boolean kickUserByStreamId(String SID, Long room_id) { try { Long users_id = sessiondataDao.checkSession(SID); @@ -458,6 +457,7 @@ public class UserManager implements IUse return false; } + @Override public boolean kickUserByPublicSID(String SID, String publicSID) { try { Long userId = sessiondataDao.checkSession(SID); @@ -490,6 +490,7 @@ public class UserManager implements IUse return false; } + @Override public Long getLanguage(Locale loc) { if (loc != null) { for (Map.Entry<Long, Locale> e : LabelDao.languages.entrySet()) { @@ -501,19 +502,7 @@ public class UserManager implements IUse return cfgDao.getConfValue(CONFIG_DEFAULT_LANG_KEY, Long.class, "1"); } - public State getCountry(Locale loc) { - List<State> states = stateDao.get(); - if (loc != null) { - String code = loc.getISO3Country().toUpperCase(); - for (State s : states) { - if (s.getShortName().toUpperCase().equals(code)) { - return s; - } - } - } - return states.get(0); - } - + @Override public User loginOAuth(Map<String, String> params, long serverId) throws IOException, NoSuchAlgorithmException { String login = params.get("login"); String email = params.get("email"); @@ -562,7 +551,7 @@ public class UserManager implements IUse Locale loc = Locale.forLanguageTag(locale); if (loc != null) { u.setLanguageId(getLanguage(loc)); - u.getAddress().setState(getCountry(loc)); + u.getAddress().setCountry(loc.getCountry()); } } } Modified: openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java (original) +++ openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java Mon Apr 4 05:45:45 2016 @@ -62,7 +62,6 @@ public class OmFileHelper { public static final String DB_PERSISTENCE_NAME = "classes/META-INF/%s_persistence.xml"; public static final String profilesPrefix = "profile_"; public static final String nameOfLanguageFile = "languages.xml"; - public static final String nameOfCountriesFile = "countries.xml"; public static final String nameOfErrorFile = "errorvalues.xml"; public static final String libraryFileName = "library.xml"; public static final String defaultProfileImageName = "profile_pic.jpg"; @@ -333,17 +332,11 @@ public class OmFileHelper { } public static void copyFile(File f1, OutputStream out) throws IOException { - InputStream in = null; - try { - in = new FileInputStream(f1); + try (InputStream in = new FileInputStream(f1)) { FileHelper.copy(in, out); log.debug("File copied."); } catch (Exception e) { log.error("[copyfile(File, File)]", e); - } finally { - if (in != null) { - in.close(); - } } } } Modified: openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java (original) +++ openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java Mon Apr 4 05:45:45 2016 @@ -31,14 +31,13 @@ public class ByteArrayDataSource impleme /* Create a DataSource from an input stream */ public ByteArrayDataSource(InputStream is, String type) { this.type = type; - try { - ByteArrayOutputStream os = new ByteArrayOutputStream(); + try (ByteArrayOutputStream os = new ByteArrayOutputStream()) { int ch; - while ((ch = is.read()) != -1) + while ((ch = is.read()) != -1) { os.write(ch); + } data = os.toByteArray(); - os.close(); } catch (IOException ioex) { } } @@ -55,20 +54,24 @@ public class ByteArrayDataSource impleme this.type = type; } + @Override public InputStream getInputStream() throws IOException { if (data == null) throw new IOException("no data"); return new ByteArrayInputStream(data); } + @Override public OutputStream getOutputStream() throws IOException { throw new IOException("cannot do this"); } + @Override public String getContentType() { return type; } + @Override public String getName() { return "dummy"; } Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java Mon Apr 4 05:45:45 2016 @@ -44,6 +44,8 @@ import java.util.Locale; import java.util.Set; import java.util.TimeZone; +import org.apache.openmeetings.IWebSession; +import org.apache.openmeetings.core.ldap.LdapLoginManagement; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.label.LabelDao; import org.apache.openmeetings.db.dao.server.SOAPLoginDao; @@ -53,13 +55,10 @@ import org.apache.openmeetings.db.dao.us import org.apache.openmeetings.db.entity.server.RemoteSessionObject; import org.apache.openmeetings.db.entity.server.SOAPLogin; import org.apache.openmeetings.db.entity.server.Sessiondata; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Right; import org.apache.openmeetings.db.entity.user.User.Type; import org.apache.openmeetings.db.util.TimezoneUtil; -import org.apache.openmeetings.IWebSession; -import org.apache.openmeetings.core.ldap.LdapLoginManagement; import org.apache.openmeetings.util.OmException; import org.apache.openmeetings.web.pages.SwfPage; import org.apache.openmeetings.web.user.dashboard.MyRoomsWidget; @@ -410,10 +409,6 @@ public class WebSession extends Abstract return getBean(IUserManager.class).getLanguage(getBrowserLocale()); } - public State getCountryByBrowserLocale() { - return getBean(IUserManager.class).getCountry(getBrowserLocale()); - } - public String getClientTZCode() { TimeZone _zone = browserTz; if (browserTz == null) { Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html Mon Apr 4 05:45:45 2016 @@ -61,7 +61,7 @@ wicket:id="address.town" style="width: 214px;" /> </div> <div class="formelement"> - <label><wicket:message key="141" /></label><select wicket:id="address.state" /> + <label><wicket:message key="141" /></label><select wicket:id="address.country" /> </div> <div class="formelement"> <label><wicket:message key="142" /></label> Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java Mon Apr 4 05:45:45 2016 @@ -30,16 +30,15 @@ import java.util.List; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.user.GroupDao; -import org.apache.openmeetings.db.dao.user.StateDao; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.user.Group; import org.apache.openmeetings.db.entity.user.GroupUser; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Salutation; import org.apache.openmeetings.util.CalendarHelper; import org.apache.openmeetings.web.app.Application; import org.apache.openmeetings.web.app.WebSession; +import org.apache.openmeetings.web.util.CountryDropDown; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator; import org.apache.wicket.markup.head.IHeaderResponse; @@ -121,7 +120,7 @@ public class GeneralUserForm extends For add(new TextField<String>("address.additionalname")); add(new TextField<String>("address.zip")); add(new TextField<String>("address.town")); - add(new DropDownChoice<State>("address.state", getBean(StateDao.class).get(), new ChoiceRenderer<State>("name", "id"))); + add(new CountryDropDown("address.country")); add(new TextArea<String>("address.comment")); final List<GroupUser> orgUsers; Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.html Mon Apr 4 05:45:45 2016 @@ -52,7 +52,7 @@ </tr> <tr> <td class="desc"><wicket:message key="120" /></td> - <td><select wicket:id="state"></select></td> + <td><select wicket:id="country"></select></td> </tr> <tr> <td class="desc"><wicket:message key="111" /></td> Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java Mon Apr 4 05:45:45 2016 @@ -35,18 +35,16 @@ import java.util.TimeZone; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.user.IUserManager; -import org.apache.openmeetings.db.dao.user.StateDao; import org.apache.openmeetings.db.dao.user.UserDao; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.web.app.Application; import org.apache.openmeetings.web.app.WebSession; import org.apache.openmeetings.web.common.LanguageDropDown; +import org.apache.openmeetings.web.util.CountryDropDown; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.form.AjaxButton; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator; -import org.apache.wicket.markup.html.form.ChoiceRenderer; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.PasswordTextField; @@ -83,7 +81,7 @@ public class RegisterDialog extends Abst private String login; private String password; private String email; - private State state; + private String country; private Long lang; final MessageDialog confirmRegistration; @@ -149,7 +147,7 @@ public class RegisterDialog extends Abst form.confirmPassword.setModelObject(null); email = null; lang = WebSession.get().getLanguageByBrowserLocale(); - state = WebSession.get().getCountryByBrowserLocale(); + country = WebSession.get().getBrowserLocale().getCountry(); } public void onOpen(AjaxRequestTarget target) { @@ -198,7 +196,7 @@ public class RegisterDialog extends Abst try { getBean(IUserManager.class).registerUserInit(UserDao.getDefaultRights(), login, password, lastName , firstName, email, null /* age/birthday */, "" /* street */ - , "" /* additionalname */, "" /* fax */, "" /* zip */, state.getId() + , "" /* additionalname */, "" /* fax */, "" /* zip */, country , "" /* town */, lang, true /* sendWelcomeMessage */ , Arrays.asList(getBean(ConfigurationDao.class).getConfValue(CONFIG_DEFAULT_GROUP_ID, Long.class, null)), "" /* phone */, false, sendConfirmation, TimeZone.getTimeZone(tzModel.getObject()), @@ -227,7 +225,7 @@ public class RegisterDialog extends Abst private RequiredTextField<String> firstNameField; private RequiredTextField<String> lastNameField; private LanguageDropDown langField; - private DropDownChoice<State> stateField; + private CountryDropDown countryField; public RegisterForm(String id) { super(id); @@ -256,9 +254,8 @@ public class RegisterDialog extends Abst add(langField = new LanguageDropDown("lang", new PropertyModel<Long>(RegisterDialog.this, "lang"))); langField.setRequired(true).setLabel(Model.of(Application.getString(111))); add(tzDropDown.setRequired(true).setLabel(Model.of(Application.getString(1143)))); - add(stateField = new DropDownChoice<State>("state", new PropertyModel<State>(RegisterDialog.this, "state"), - getBean(StateDao.class).get(), new ChoiceRenderer<State>("name", "id"))); - stateField.setRequired(true).setLabel(Model.of(Application.getString(120))); + add(countryField = new CountryDropDown("country", new PropertyModel<String>(RegisterDialog.this, "country"))); + countryField.setRequired(true).setLabel(Model.of(Application.getString(120))); add(new AjaxButton("submit") { // FAKE button so "submit-on-enter" works as expected private static final long serialVersionUID = 1L; Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java Mon Apr 4 05:45:45 2016 @@ -20,7 +20,6 @@ package org.apache.openmeetings.web.user import java.io.File; import java.io.FileInputStream; -import java.io.IOException; import java.io.InputStream; import java.util.List; @@ -52,7 +51,7 @@ public class RoomsPanel extends UserPane private IModel<String> roomName = Model.of((String)null); private IModel<String> roomComment = Model.of((String)null); private List<Client> clientsInRoom = null; - private long roomId = 0; + private Long roomId = 0L; public RoomsPanel(String id, List<Room> rooms) { super(id); @@ -102,17 +101,10 @@ public class RoomsPanel extends UserPane uri = Application.getBean(UserDao.class).get(userId > 0 ? userId : -userId).getPictureuri(); } File img = OmFileHelper.getUserProfilePicture(userId, uri); - InputStream is = null; - try { - is = new FileInputStream(img); + try (InputStream is = new FileInputStream(img)) { return IOUtils.toByteArray(is); } catch (Exception e) { - } finally { - if (is != null) { - try { - is.close(); - } catch (IOException e) {} - } + //no-op } return null; } Added: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CountryDropDown.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CountryDropDown.java?rev=1737626&view=auto ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CountryDropDown.java (added) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CountryDropDown.java Mon Apr 4 05:45:45 2016 @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") + you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openmeetings.web.util; + +import java.util.Arrays; +import java.util.List; +import java.util.Locale; + +import org.apache.openmeetings.web.app.WebSession; +import org.apache.wicket.markup.html.form.DropDownChoice; +import org.apache.wicket.markup.html.form.IChoiceRenderer; +import org.apache.wicket.model.IModel; + +public class CountryDropDown extends DropDownChoice<String> { + private static final long serialVersionUID = 1L; + + public CountryDropDown(String id) { + this(id, null); + } + + public CountryDropDown(String id, IModel<String> model) { + super(id, model, Arrays.asList(Locale.getISOCountries())); + setChoiceRenderer(new IChoiceRenderer<String>() { + private static final long serialVersionUID = 1L; + + @Override + public String getIdValue(String code, int index) { + return code; + } + + public Object getDisplayValue(String code) { + return new Locale.Builder().setRegion(code).build().getDisplayCountry(WebSession.get().getLocale()); + } + + @Override + public String getObject(String id, IModel<? extends List<? extends String>> choices) { + for (String code : choices.getObject()) { + if (code.equals(id)) { + return code; + } + } + return null; + } + }); + } +} Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml Mon Apr 4 05:45:45 2016 @@ -53,7 +53,6 @@ <class>org.apache.openmeetings.db.entity.room.Whiteboard</class> <class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class> <class>org.apache.openmeetings.db.entity.user.Address</class> - <class>org.apache.openmeetings.db.entity.user.State</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> <class>org.apache.openmeetings.db.entity.user.UserContact</class> Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml Mon Apr 4 05:45:45 2016 @@ -53,7 +53,6 @@ <class>org.apache.openmeetings.db.entity.room.Whiteboard</class> <class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class> <class>org.apache.openmeetings.db.entity.user.Address</class> - <class>org.apache.openmeetings.db.entity.user.State</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> <class>org.apache.openmeetings.db.entity.user.UserContact</class> Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml Mon Apr 4 05:45:45 2016 @@ -52,7 +52,6 @@ <class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class> <class>org.apache.openmeetings.db.entity.room.RoomGroup</class> <class>org.apache.openmeetings.db.entity.user.Address</class> - <class>org.apache.openmeetings.db.entity.user.State</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> <class>org.apache.openmeetings.db.entity.user.UserContact</class> Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml Mon Apr 4 05:45:45 2016 @@ -53,7 +53,6 @@ <class>org.apache.openmeetings.db.entity.room.Whiteboard</class> <class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class> <class>org.apache.openmeetings.db.entity.user.Address</class> - <class>org.apache.openmeetings.db.entity.user.State</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> <class>org.apache.openmeetings.db.entity.user.UserContact</class> Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml Mon Apr 4 05:45:45 2016 @@ -53,7 +53,6 @@ <class>org.apache.openmeetings.db.entity.room.Whiteboard</class> <class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class> <class>org.apache.openmeetings.db.entity.user.Address</class> - <class>org.apache.openmeetings.db.entity.user.State</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> <class>org.apache.openmeetings.db.entity.user.UserContact</class> Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml Mon Apr 4 05:45:45 2016 @@ -53,7 +53,6 @@ <class>org.apache.openmeetings.db.entity.room.Whiteboard</class> <class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class> <class>org.apache.openmeetings.db.entity.user.Address</class> - <class>org.apache.openmeetings.db.entity.user.State</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> <class>org.apache.openmeetings.db.entity.user.UserContact</class> Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml Mon Apr 4 05:45:45 2016 @@ -211,7 +211,6 @@ <bean id="errorManagement" class="org.apache.openmeetings.db.dao.basic.ErrorDao" /> <bean id="navimanagement" class="org.apache.openmeetings.db.dao.basic.NavigationDao" /> <bean id="pollManagement" class="org.apache.openmeetings.db.dao.room.PollDao" /> - <bean id="statemanagement" class="org.apache.openmeetings.db.dao.user.StateDao" /> <bean id="labelDao" class="org.apache.openmeetings.db.dao.label.LabelDao" /> <bean id="configurationDaoImpl" class="org.apache.openmeetings.db.dao.basic.ConfigurationDao" /> <bean id="appointmentDao" class="org.apache.openmeetings.db.dao.calendar.AppointmentDao" /> Modified: openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java?rev=1737626&r1=1737625&r2=1737626&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java (original) +++ openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java Mon Apr 4 05:45:45 2016 @@ -25,6 +25,7 @@ import static org.apache.openmeetings.we import java.util.Date; import java.util.List; +import java.util.Locale; import javax.jws.WebMethod; import javax.jws.WebParam; @@ -54,7 +55,6 @@ import org.apache.openmeetings.db.dto.us import org.apache.openmeetings.db.entity.server.RemoteSessionObject; import org.apache.openmeetings.db.entity.server.Sessiondata; import org.apache.openmeetings.db.entity.user.Address; -import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Right; import org.apache.openmeetings.db.util.AuthLevelUtil; @@ -171,16 +171,14 @@ public class UserWebService implements U String jName_timeZone = cfgDao.getConfValue("default.timezone", String.class, ""); if (user.getAddress() == null) { user.setAddress(new Address()); - State s = new State(); - s.setId(1L); - user.getAddress().setState(s); + user.getAddress().setCountry(Locale.getDefault().getCountry()); } if (user.getLanguageId() == null) { user.setLanguageId(1L); } Long userId = userManagement.registerUser(user.getLogin(), user.getPassword(), user.getLastname(), user.getFirstname(), user.getAddress().getEmail(), new Date(), user.getAddress().getStreet(), - user.getAddress().getAdditionalname(), user.getAddress().getFax(), user.getAddress().getZip(), user.getAddress().getState().getId() + user.getAddress().getAdditionalname(), user.getAddress().getFax(), user.getAddress().getZip(), user.getAddress().getCountry() , user.getAddress().getTown(), user.getLanguageId(), "", false, true, // generate SIP Data if the config is enabled jName_timeZone, confirm);
