Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java Sun Sep 11 04:50:07 2016 @@ -18,6 +18,7 @@ */ package org.apache.openmeetings.core.ldap; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; @@ -28,7 +29,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Properties; @@ -315,7 +315,7 @@ public class LdapLoginManagement { this.domainId = domainId; LdapConfig ldapConfig = ldapConfigDao.get(domainId); try (InputStream is = new FileInputStream(new File(OmFileHelper.getConfDir(), ldapConfig.getConfigFileName())); - Reader r = new InputStreamReader(is, StandardCharsets.UTF_8)) + Reader r = new InputStreamReader(is, UTF_8)) { config.load(r); if (config.isEmpty()) {
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java Sun Sep 11 04:50:07 2016 @@ -18,13 +18,13 @@ */ package org.apache.openmeetings.core.mail; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; -import java.nio.charset.StandardCharsets; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -197,7 +197,7 @@ public class MailHandler { log.debug("getMimeMessage"); // Building MimeMessage MimeMessage msg = getBasicMimeMessage(); - msg.setSubject(m.getSubject(), StandardCharsets.UTF_8.name()); + msg.setSubject(m.getSubject(), UTF_8.name()); String replyTo = m.getReplyTo(); if (replyTo != null && mailAddReplyTo) { log.debug("setReplyTo " + replyTo); Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java Sun Sep 11 04:50:07 2016 @@ -18,7 +18,7 @@ */ package org.apache.openmeetings.core.remote; -import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION; +import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4; import static org.apache.openmeetings.util.OmFileHelper.WB_VIDEO_FILE_PREFIX; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; @@ -216,22 +216,21 @@ public class ConferenceLibrary implement try { Sessiondata sd = sessionDao.check(sid); if (AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) { - IConnection current = Red5.getConnectionLocal(); String streamid = current.getClient().getId(); - Client currentClient = sessionManager.getClientByStreamId(streamid, null); - - Long roomId = currentClient.getRoomId(); + Client client = sessionManager.getClientByStreamId(streamid, null); + Long roomId = client.getRoomId(); - if (roomId != null) { - File outputFullFlvFile = new File(OmFileHelper.getStreamsHibernateDir(), WB_VIDEO_FILE_PREFIX + fileId + MP4_EXTENSION); + FileExplorerItem f = fileDao.get(fileId); + if (roomId != null && f != null) { + File mp4 = f.getFile(EXTENSION_MP4); File targetFolder = OmFileHelper.getStreamsSubDir(roomId); - File targetFullFlvFile = new File(targetFolder, WB_VIDEO_FILE_PREFIX + fileId + MP4_EXTENSION); - if (outputFullFlvFile.exists() && !targetFullFlvFile.exists()) { - FileHelper.copy(outputFullFlvFile, targetFullFlvFile); + File target = new File(targetFolder, OmFileHelper.getName(WB_VIDEO_FILE_PREFIX + fileId, EXTENSION_MP4)); + if (mp4.exists() && !target.exists()) { + FileHelper.copy(mp4, target); } return 1L; } Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-core/src/test/java/org/apache/openmeetings/test/asf/AsfCopyRightReplace.java Sun Sep 11 04:50:07 2016 @@ -18,6 +18,7 @@ */ package org.apache.openmeetings.test.asf; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.io.BufferedReader; @@ -28,7 +29,6 @@ import java.io.FilenameFilter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.StringWriter; -import java.nio.charset.StandardCharsets; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; @@ -130,7 +130,7 @@ public class AsfCopyRightReplace { private void scanAndWriteXMLFile(File javaFile) { StringWriter strWriter = new StringWriter(); - try (BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(javaFile), StandardCharsets.UTF_8))) { + try (BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(javaFile), UTF_8))) { log.debug("Processing " + javaFile.getCanonicalPath()); String line; @@ -165,7 +165,7 @@ public class AsfCopyRightReplace { } catch (Exception err) { log.error("Error while scanAndWriteXMLFile", err); } - try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(javaFile), StandardCharsets.UTF_8)) { + try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(javaFile), UTF_8)) { out.write(strWriter.toString()); out.flush(); } catch (Exception err) { @@ -175,7 +175,7 @@ public class AsfCopyRightReplace { private void scanAndWriteJavaFile(File javaFile) { StringWriter strWriter = new StringWriter(); - try (BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(javaFile), StandardCharsets.UTF_8))) { + try (BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(javaFile), UTF_8))) { log.debug("Processing " + javaFile.getCanonicalPath()); String line; @@ -196,7 +196,7 @@ public class AsfCopyRightReplace { } catch (Exception err) { log.error("Error while scanAndWriteJavaFile", err); } - try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(javaFile), StandardCharsets.UTF_8)) { + try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(javaFile), UTF_8)) { out.write(strWriter.toString()); out.flush(); } catch (Exception err) { Copied: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemLogDao.java (from r1760223, openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingLogDao.java) URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemLogDao.java?p2=openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemLogDao.java&p1=openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingLogDao.java&r1=1760223&r2=1760224&rev=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingLogDao.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemLogDao.java Sun Sep 11 04:50:07 2016 @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openmeetings.db.dao.record; +package org.apache.openmeetings.db.dao.file; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; @@ -26,49 +26,45 @@ import java.util.List; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; -import org.apache.openmeetings.db.entity.record.Recording; -import org.apache.openmeetings.db.entity.record.RecordingLog; +import org.apache.openmeetings.db.entity.file.FileItem; +import org.apache.openmeetings.db.entity.file.FileItemLog; import org.apache.openmeetings.util.process.ConverterProcessResult; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; import org.springframework.transaction.annotation.Transactional; @Transactional -public class RecordingLogDao { - private static final Logger log = Red5LoggerFactory.getLogger(RecordingLogDao.class, webAppRootKey); +public class FileItemLogDao { + private static final Logger log = Red5LoggerFactory.getLogger(FileItemLogDao.class, webAppRootKey); @PersistenceContext private EntityManager em; - - public long countErrors(Long recordingId) { - return em.createNamedQuery("countErrorRecordingLogsByRecording", Long.class) - .setParameter("recId", recordingId).getSingleResult(); - } - - public List<RecordingLog> getByRecordingId(Long recordingId) { - return em.createNamedQuery("getRecordingLogsByRecording", RecordingLog.class) - .setParameter("recId", recordingId).getResultList(); - } - - public void deleteByRecordingId(Long recordingId) { - em.createNamedQuery("deleteErrorRecordingLogsByRecording").setParameter("recId", recordingId).executeUpdate(); + + public long countErrors(FileItem f) { + return em.createNamedQuery("countErrorFileLogsByFile", Long.class).setParameter("fileId", f.getId()) + .setParameter("type", f.getType()).getSingleResult(); + } + + public List<FileItemLog> get(FileItem f) { + return em.createNamedQuery("getFileLogsByFile", FileItemLog.class).setParameter("fileId", f.getId()) + .setParameter("type", f.getType()).getResultList(); } - - public Long add(String msgType, Recording recording, ConverterProcessResult returnMap) { - try { - RecordingLog log = new RecordingLog(); - log.setInserted(new Date()); - log.setExitValue(returnMap.getExitValue()); - log.setRecording(recording); - log.setFullMessage(returnMap.buildLogMessage()); - log.setMsgType(msgType); - - log = em.merge(log); - Long logId = log.getId(); - - return logId; - } catch (Exception ex2) { - log.error("[add]: ",ex2); - } - return -1L; + + public void delete(FileItem f) { + em.createNamedQuery("deleteErrorFileLogsByFile").setParameter("fileId", f.getId()) + .setParameter("type", f.getType()).executeUpdate(); + } + + public FileItemLog add(String name, FileItem f, ConverterProcessResult returnMap) { + log.trace("Adding log: {}, {}, {}", name, f, returnMap); + FileItemLog log = new FileItemLog(); + log.setInserted(new Date()); + log.setExitCode(returnMap.getExitCode()); + log.setFileId(f.getId()); + log.setFileType(f.getType()); + log.setMessage(returnMap.buildLogMessage()); + log.setName(name); + + em.persist(log); + return log; } } Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java Sun Sep 11 04:50:07 2016 @@ -35,8 +35,7 @@ public class RecordingDTO implements Ser private static final long serialVersionUID = 1L; private Long id; private String name; - private String flvName; - private String aviName; + private String hash; private Long roomId; private String status; private boolean interview; @@ -50,8 +49,7 @@ public class RecordingDTO implements Ser public RecordingDTO(Recording r) { this.id = r.getId(); this.name = r.getName(); - this.flvName = r.getHash(); - this.aviName = r.getAlternateDownload(); + this.hash = r.getHash(); this.roomId = r.getRoomId(); this.status = r.getStatus().name(); this.interview = r.isInterview(); @@ -77,20 +75,12 @@ public class RecordingDTO implements Ser this.name = name; } - public String getFlvName() { - return flvName; + public String getHash() { + return hash; } - public void setFlvName(String flvName) { - this.flvName = flvName; - } - - public String getAviName() { - return aviName; - } - - public void setAviName(String aviName) { - this.aviName = aviName; + public void setHash(String hash) { + this.hash = hash; } public Long getRoomId() { Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java Sun Sep 11 04:50:07 2016 @@ -50,11 +50,11 @@ import org.simpleframework.xml.Root; @Entity @Table(name = "appointment") @NamedQueries({ - @NamedQuery(name="getAppointmentById", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.id = :id") - , @NamedQuery(name="getAppointmentByIdAny", query="SELECT a FROM Appointment a WHERE a.id = :id") - , @NamedQuery(name="getAppointments", query="SELECT a FROM Appointment a WHERE a.deleted = false ORDER BY a.id") - , @NamedQuery(name="appointmentsInRange", - query="SELECT a FROM Appointment a " + @NamedQuery(name="getAppointmentById", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.id = :id") + , @NamedQuery(name="getAppointmentByIdAny", query="SELECT a FROM Appointment a WHERE a.id = :id") + , @NamedQuery(name="getAppointments", query="SELECT a FROM Appointment a WHERE a.deleted = false ORDER BY a.id") + , @NamedQuery(name="appointmentsInRange", + query="SELECT a FROM Appointment a " + "WHERE a.deleted = false " + " AND ( " + " (a.start BETWEEN :start AND :end) " @@ -62,8 +62,8 @@ import org.simpleframework.xml.Root; + " OR (a.start < :start AND a.end > :end) " + " )" + " AND a.owner.id = :userId" - ) - , @NamedQuery(name="joinedAppointmentsInRange", + ) + , @NamedQuery(name="joinedAppointmentsInRange", query="SELECT a FROM MeetingMember mm INNER JOIN mm.appointment a " + "WHERE mm.deleted = false AND mm.user.id <> a.owner.id AND mm.user.id = :userId " + " AND a.id NOT IN (SELECT a.id FROM Appointment a WHERE a.owner.id = :userId)" @@ -73,8 +73,8 @@ import org.simpleframework.xml.Root; + " OR (a.end BETWEEN :start AND :end) " + " OR (a.start < :start AND a.end > :end) " + " )" - ) - , @NamedQuery(name="appointmentsInRangeRemind", + ) + , @NamedQuery(name="appointmentsInRangeRemind", query="SELECT a FROM Appointment a " //only ReminderType simple mail is concerned! + "WHERE a.deleted = false AND a.reminderEmailSend = false" @@ -84,11 +84,11 @@ import org.simpleframework.xml.Root; + " OR (a.end BETWEEN :start AND :end) " + " OR (a.start < :start AND a.end > :end) " + " )" - ) - , @NamedQuery(name="getAppointmentByRoomId", query="SELECT a FROM Appointment a WHERE a.room.id = :roomId") - , @NamedQuery(name="getAppointmentByOwnerRoomId", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.owner.id = :userId AND a.room.id = :roomId") + ) + , @NamedQuery(name="getAppointmentByRoomId", query="SELECT a FROM Appointment a WHERE a.room.id = :roomId") + , @NamedQuery(name="getAppointmentByOwnerRoomId", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.owner.id = :userId AND a.room.id = :roomId") //TODO this query returns duplicates if the user books an appointment with his own user as second meeting-member, swagner 19.02.2012 - , @NamedQuery(name="appointmentsInRangeByUser", + , @NamedQuery(name="appointmentsInRangeByUser", query="SELECT a FROM MeetingMember mm, IN(mm.appointment) a " + "WHERE mm.deleted = false AND mm.user.id <> a.owner.id AND mm.user.id = :userId " + " AND ( " @@ -96,8 +96,8 @@ import org.simpleframework.xml.Root; + " OR (a.end BETWEEN :start AND :end) " + " OR (a.start < :start AND a.end > :end) " + " )" - ) - , @NamedQuery(name="appointedRoomsInRangeByUser", + ) + , @NamedQuery(name="appointedRoomsInRangeByUser", query="SELECT a.room FROM MeetingMember mm, IN(mm.appointment) a " + "WHERE mm.deleted = false AND mm.user.id <> a.owner.id AND mm.user.id = :userId " + " AND ( " @@ -105,9 +105,9 @@ import org.simpleframework.xml.Root; + " OR (a.end BETWEEN :start AND :end) " + " OR (a.start < :start AND a.end > :end) " + " )" - ) - , @NamedQuery(name="getNextAppointment", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.start > :start AND a.owner.id = :userId") - , @NamedQuery(name="getAppointmentsByTitle", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.title LIKE :title AND a.owner.id = :userId") + ) + , @NamedQuery(name="getNextAppointment", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.start > :start AND a.owner.id = :userId") + , @NamedQuery(name="getAppointmentsByTitle", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.title LIKE :title AND a.owner.id = :userId") }) @Root(name="appointment") public class Appointment implements IDataProviderEntity { Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java Sun Sep 11 04:50:07 2016 @@ -20,11 +20,13 @@ package org.apache.openmeetings.db.entit import java.io.File; import java.util.Date; +import java.util.List; import javax.persistence.Column; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.MappedSuperclass; +import javax.persistence.Transient; import javax.xml.bind.annotation.XmlType; import org.apache.openmeetings.db.entity.IDataProviderEntity; @@ -86,15 +88,15 @@ public abstract class FileItem implement @Element(data = true, required = false) private Integer flvHeight; - @Column(name = "preview_image") - @Element(data = true, required = false) - private String previewImage; - @Column(name = "type") @Element(data = true, required = false) @Enumerated(EnumType.STRING) private Type type; + // Not Mapped + @Transient + private List<FileItemLog> log; + public String getName() { return name; } @@ -183,14 +185,6 @@ public abstract class FileItem implement this.flvHeight = flvHeight; } - public String getPreviewImage() { - return previewImage; - } - - public void setPreviewImage(String previewImage) { - this.previewImage = previewImage; - } - public Type getType() { return type; } @@ -199,6 +193,14 @@ public abstract class FileItem implement this.type = type; } + public List<FileItemLog> getLog() { + return log; + } + + public void setLog(List<FileItemLog> log) { + this.log = log; + } + public File getFile() { return getFile(null); } Copied: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItemLog.java (from r1760223, openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/RecordingLog.java) URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItemLog.java?p2=openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItemLog.java&p1=openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/RecordingLog.java&r1=1760223&r2=1760224&rev=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/RecordingLog.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItemLog.java Sun Sep 11 04:50:07 2016 @@ -16,107 +16,129 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openmeetings.db.entity.record; +package org.apache.openmeetings.db.entity.file; -import java.nio.charset.StandardCharsets; +import static java.nio.charset.StandardCharsets.UTF_8; +import static org.apache.openmeetings.util.process.ConverterProcessResult.ZERO; import java.util.Arrays; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.FetchType; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; 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.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import org.apache.openmeetings.db.entity.IDataProviderEntity; +import org.apache.openmeetings.db.entity.file.FileItem.Type; @Entity -@NamedQueries({ - @NamedQuery(name = "getRecordingLogsByRecording", query = "SELECT fl FROM RecordingLog fl WHERE fl.recording.id = :recId") - , @NamedQuery(name = "countErrorRecordingLogsByRecording", query = "SELECT COUNT(fl) FROM RecordingLog fl WHERE fl.recording.id = :recId AND fl.exitValue <> '0'") - , @NamedQuery(name = "deleteErrorRecordingLogsByRecording", query = "DELETE FROM RecordingLog fl WHERE fl.recording.id = :recId") -}) -@Table(name = "recording_log") -public class RecordingLog implements IDataProviderEntity { +@NamedQueries({ + @NamedQuery(name = "getFileLogsByFile", query = "SELECT fl FROM FileItemLog fl WHERE fl.fileId = :fileId AND fl.fileType = :type"), + @NamedQuery(name = "countErrorFileLogsByFile", query = "SELECT COUNT(fl) FROM FileItemLog fl WHERE fl.fileId = :fileId AND fl.fileType = :type AND fl.exitCode <> '0'"), + @NamedQuery(name = "deleteErrorFileLogsByFile", query = "DELETE FROM FileItemLog fl WHERE fl.fileId = :fileId AND fl.fileType = :type") }) +@Table(name = "file_log") +public class FileItemLog implements IDataProviderEntity { private static final long serialVersionUID = 1L; public static final int MAX_LOG_SIZE = 1 * 1024 * 1024; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name="id") + @Column(name = "id") private Long id; - - @ManyToOne(fetch = FetchType.EAGER) - @JoinColumn(name="recording_id", nullable=true) - private Recording recording; - - @Column(name="inserted") + + @Column(name = "file_id") + private Long fileId; + + @Column(name = "file_type") + @Enumerated(EnumType.STRING) + private Type fileType; + + @Column(name = "inserted") private Date inserted; - - @Column(name="msg_type") - private String msgType; - + + @Column(name = "name") + private String name; + @Lob - @Column(name="full_message", length = MAX_LOG_SIZE) - private byte[] fullMessageArray; - - @Column(name="exit_value") - private String exitValue; - + @Column(name = "message", length = MAX_LOG_SIZE) + private byte[] bytes; + + @Column(name = "exit_code") + private Integer exitCode; + @Override public Long getId() { return id; } + @Override public void setId(Long id) { this.id = id; } - - public Recording getRecording() { - return recording; + + public Long getFileId() { + return fileId; + } + + public void setFileId(Long fileId) { + this.fileId = fileId; + } + + public Type getFileType() { + return fileType; } - public void setRecording(Recording recording) { - this.recording = recording; + + public void setFileType(Type fileType) { + this.fileType = fileType; } - + public Date getInserted() { return inserted; } + public void setInserted(Date inserted) { this.inserted = inserted; } - - public String getMsgType() { - return msgType; + + public String getName() { + return name; } - public void setMsgType(String msgType) { - this.msgType = msgType; + + public void setName(String name) { + this.name = name; } - - public String getFullMessage() { - return fullMessageArray == null ? null : new String(fullMessageArray, StandardCharsets.UTF_8); + + public String getMessage() { + return bytes == null ? null : new String(bytes, UTF_8); } - - public void setFullMessage(String fullMessage) { - setFullMessageArray(fullMessage.getBytes(StandardCharsets.UTF_8)); + + public void setMessage(String message) { + setBytes(message.getBytes(UTF_8)); } - - public String getExitValue() { - return exitValue; + + public Integer getExitCode() { + return exitCode; + } + + public void setExitCode(Integer exitCode) { + this.exitCode = exitCode; } - public void setExitValue(String exitValue) { - this.exitValue = exitValue; + + public byte[] getBytes() { + return bytes; } - public byte[] getFullMessageArray() { - return fullMessageArray; + + public void setBytes(byte[] a) { + this.bytes = a == null || a.length < MAX_LOG_SIZE ? a : Arrays.copyOf(a, MAX_LOG_SIZE); } - public void setFullMessageArray(byte[] a) { - this.fullMessageArray = a == null || a.length < MAX_LOG_SIZE ? a : Arrays.copyOf(a, MAX_LOG_SIZE); + + public boolean isOk() { + return ZERO.equals(exitCode); } } Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java Sun Sep 11 04:50:07 2016 @@ -18,9 +18,6 @@ */ package org.apache.openmeetings.db.entity.record; -import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_AVI; -import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_FLV; -import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_OGG; import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4; import static org.apache.openmeetings.util.OmFileHelper.getRecording; import static org.apache.openmeetings.util.OmFileHelper.recordingFileName; @@ -43,7 +40,6 @@ import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; -import javax.persistence.Transient; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; @@ -119,10 +115,6 @@ public class Recording extends FileItem @Element(data = true, name = "flvRecordingId") private Long id; - @Column(name = "alternate_download") - @Element(data = true, required = false) - private String alternateDownload; - @Column(name = "comment") @Element(data = true, required = false) private String comment; @@ -173,10 +165,6 @@ public class Recording extends FileItem @Element(data = true, required = false) private Status status = Status.NONE; - // Not Mapped - @Transient - private List<RecordingLog> log; - @Override public Long getId() { return id; @@ -259,22 +247,6 @@ public class Recording extends FileItem this.height = height; } - public String getAlternateDownload() { - return alternateDownload; - } - - public void setAlternateDownload(String alternateDownload) { - this.alternateDownload = alternateDownload; - } - - public List<RecordingLog> getLog() { - return log; - } - - public void setLog(List<RecordingLog> log) { - this.log = log; - } - public boolean isInterview() { return interview; } @@ -303,15 +275,7 @@ public class Recording extends FileItem public File internalGetFile(String ext) { File f = null; if (getId() != null && !isDeleted()) { - if (ext == null || EXTENSION_MP4.equals(ext)) { - f = getRecording(String.format("%s%s.%s.%s", recordingFileName, id, EXTENSION_FLV, EXTENSION_MP4)); - } else if (EXTENSION_FLV.equals(ext)) { - f = getRecording(String.format("%s%s.%s", recordingFileName, id, EXTENSION_FLV)); - } else if (EXTENSION_AVI.equals(ext)) { - f = getRecording(String.format("%s%s.%s", recordingFileName, id, EXTENSION_AVI)); - } else if (EXTENSION_OGG.equals(ext)) { - f = getRecording(String.format("%s%s.%s.%s", recordingFileName, id, EXTENSION_FLV, EXTENSION_OGG)); - } + f = getRecording(String.format("%s%s.%s", recordingFileName, id, ext == null ? EXTENSION_MP4 : ext)); } return f; } Modified: openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java Sun Sep 11 04:50:07 2016 @@ -18,6 +18,7 @@ */ package org.apache.openmeetings.backup; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.io.File; @@ -26,7 +27,6 @@ import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.URI; -import java.nio.charset.StandardCharsets; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -183,7 +183,7 @@ public class BackupExport { registry.bind(User.class, UserConverter.class); registry.bind(Appointment.Reminder.class, AppointmentReminderTypeConverter.class); registry.bind(Room.class, RoomConverter.class); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { registry.bind(list.get(0).getStart().getClass(), DateConverter.class); } @@ -240,7 +240,7 @@ public class BackupExport { registry.bind(User.class, UserConverter.class); registry.bind(Room.class, RoomConverter.class); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } @@ -280,7 +280,7 @@ public class BackupExport { Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } @@ -298,7 +298,7 @@ public class BackupExport { Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } @@ -318,7 +318,7 @@ public class BackupExport { registry.bind(User.class, UserConverter.class); registry.bind(Room.class, RoomConverter.class); registry.bind(RoomPoll.Type.class, PollTypeConverter.class); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { registry.bind(list.get(0).getCreated().getClass(), DateConverter.class); } @@ -336,7 +336,7 @@ public class BackupExport { Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { registry.bind(list.get(0).getInserted().getClass(), DateConverter.class); } @@ -355,7 +355,7 @@ public class BackupExport { Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { registry.bind(list.get(0).getSent().getClass(), DateConverter.class); } @@ -412,7 +412,7 @@ public class BackupExport { 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 doc = NodeBuilder.write(new OutputStreamWriter(os, UTF_8), format); OutputNode root = doc.getChild("root"); root.setComment(BACKUP_COMMENT); OutputNode listNode = root.getChild(listElement); @@ -441,7 +441,7 @@ public class BackupExport { registry.bind(Group.class, GroupConverter.class); registry.bind(Salutation.class, SalutationConverter.class); - if (list != null && list.size() > 0) { + if (list != null && !list.isEmpty()) { Class<?> dateClass = list.get(0).getRegdate() != null ? list.get(0).getRegdate().getClass() : list.get(0).getInserted().getClass(); registry.bind(dateClass, DateConverter.class); } Modified: openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Sun Sep 11 04:50:07 2016 @@ -18,6 +18,7 @@ */ package org.apache.openmeetings.cli; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication; import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength; import static org.apache.openmeetings.db.util.UserHelper.invalidPassword; @@ -29,7 +30,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.Map; import java.util.TimeZone; @@ -294,7 +294,7 @@ public class Admin { f = new File(file); } boolean includeFiles = !cmdl.hasOption("exclude-files"); - File backup_dir = new File(OmFileHelper.getUploadTempDir(), "" + System.currentTimeMillis()); + File backup_dir = new File(OmFileHelper.getUploadBackupDir(), "" + System.currentTimeMillis()); backup_dir.mkdirs(); BackupExport export = getApplicationContext().getBean(BackupExport.class); @@ -319,11 +319,6 @@ public class Admin { System.out.println("WARNING: all intermadiate files will be clean up!"); } StringBuilder report = new StringBuilder(); - CleanupUnit temp = CleanupHelper.getTempUnit(); - if (cleanup) { - temp.cleanup(); - } - report.append("Temporary files allocates: ").append(temp.getHumanTotal()).append("\n"); { //UPLOAD long sectionSize = OmFileHelper.getSize(OmFileHelper.getUploadDir()); report.append("Upload totally allocates: ").append(OmFileHelper.getHumanSize(sectionSize)).append("\n"); @@ -433,7 +428,7 @@ public class Admin { ConfigurationDao cfgDao = getApplicationContext().getBean(ConfigurationDao.class); if (invalidPassword(cfg.password, cfgDao)) { System.out.print("Please enter password for the user '" + cfg.username + "':"); - cfg.password = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8)).readLine(); + cfg.password = new BufferedReader(new InputStreamReader(System.in, UTF_8)).readLine(); if (invalidPassword(cfg.password, cfgDao)) { System.out.println("Password was not provided, or too short, should be at least " + getMinPasswdLength(cfgDao) + " character long."); System.exit(1); Modified: openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java Sun Sep 11 04:50:07 2016 @@ -18,7 +18,7 @@ */ package org.apache.openmeetings.cli; -import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION; +import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_FLV; import static org.apache.openmeetings.util.OmFileHelper.recordingFileName; import java.io.File; @@ -42,10 +42,6 @@ public class CleanupHelper { private static final Logger log = Red5LoggerFactory.getLogger(CleanupHelper.class); private static File hibernateDir = OmFileHelper.getStreamsHibernateDir(); - public static CleanupUnit getTempUnit() { - return new CleanupUnit(OmFileHelper.getUploadTempDir()); - } - public static CleanupEntityUnit getProfileUnit(final UserDao udao) { File parent = OmFileHelper.getUploadProfilesDir(); List<File> invalid = new ArrayList<>(); @@ -106,14 +102,14 @@ public class CleanupHelper { for (File f : list(hibernateDir, new FilenameFilter() { @Override public boolean accept(File dir, String name) { - return name.startsWith(recordingFileName) && name.endsWith(FLV_EXTENSION); + return name.startsWith(recordingFileName) && name.endsWith(EXTENSION_FLV); } })) { if (!f.isFile()) { log.warn("Recording found is not a file: " + f); continue; } - Long id = Long.valueOf(f.getName().substring(recordingFileName.length(), f.getName().length() - FLV_EXTENSION.length())); + Long id = Long.valueOf(f.getName().substring(recordingFileName.length(), f.getName().length() - EXTENSION_FLV.length() - 1)); Recording item = recordDao.get(id); if (item == null) { add(invalid, id); Modified: openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/InstallationDocumentHandler.java Sun Sep 11 04:50:07 2016 @@ -18,10 +18,11 @@ */ package org.apache.openmeetings.installation; +import static java.nio.charset.StandardCharsets.UTF_8; + import java.io.FileOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; -import java.nio.charset.StandardCharsets; import org.apache.openmeetings.util.OmFileHelper; import org.dom4j.Document; @@ -42,7 +43,7 @@ public class InstallationDocumentHandler step.addElement("stepname").addText("Step " + stepNo); try (OutputStream os = new FileOutputStream(OmFileHelper.getInstallFile())) { - XMLWriter writer = new XMLWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8)); + XMLWriter writer = new XMLWriter(new OutputStreamWriter(os, UTF_8)); writer.write(document); writer.close(); } Modified: openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java Sun Sep 11 04:50:07 2016 @@ -18,6 +18,7 @@ */ package org.apache.openmeetings.service.user; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG_KEY; @@ -25,7 +26,6 @@ import static org.apache.openmeetings.ut import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import java.util.Date; @@ -518,7 +518,7 @@ public class UserManager implements IUse for (int i = 0; i < rawPass.length; ++i) { rawPass[i] = (byte) ('!' + rnd.nextInt(93)); } - String pass = new String(rawPass, StandardCharsets.UTF_8); + String pass = new String(rawPass, UTF_8); // check if the user already exists and register new one if it's needed if (u == null) { u = userDao.getNewUserInstance(null); Modified: openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml Sun Sep 11 04:50:07 2016 @@ -81,6 +81,10 @@ <artifactId>ical4j</artifactId> </dependency> <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> + <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec.version}</version> Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java Sun Sep 11 04:50:07 2016 @@ -20,10 +20,10 @@ package org.apache.openmeetings.util; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; +import org.apache.commons.lang3.time.FastDateFormat; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; @@ -34,49 +34,24 @@ import org.slf4j.Logger; public class CalendarPatterns { private static final Logger log = Red5LoggerFactory.getLogger(CalendarPatterns.class, webAppRootKey); - public static ThreadLocal<SimpleDateFormat> dateFormat__ddMMyyyyHHmmss = new ThreadLocal<SimpleDateFormat>() { - @Override - protected SimpleDateFormat initialValue() { - return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - }; - }; - public static ThreadLocal<SimpleDateFormat> dateFormat__ddMMyyyy = new ThreadLocal<SimpleDateFormat>() { - @Override - protected SimpleDateFormat initialValue() { - return new SimpleDateFormat("dd.MM.yyyy"); - }; - }; - public static ThreadLocal<SimpleDateFormat> dateFormat__ddMMyyyyBySeparator = new ThreadLocal<SimpleDateFormat>() { - @Override - protected SimpleDateFormat initialValue() { - return new SimpleDateFormat("dd-MM-yyyy"); - }; - }; - public static ThreadLocal<SimpleDateFormat> dateFormat__yyyyMMddHHmmss = new ThreadLocal<SimpleDateFormat>() { - @Override - protected SimpleDateFormat initialValue() { - return new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); - }; - }; + public static FastDateFormat dateFormat__ddMMyyyyHHmmss = FastDateFormat.getInstance("dd.MM.yyyy HH:mm:ss"); + public static FastDateFormat dateFormat__ddMMyyyy = FastDateFormat.getInstance("dd.MM.yyyy"); + public static FastDateFormat dateFormat__ddMMyyyyBySeparator = FastDateFormat.getInstance("dd-MM-yyyy"); + public static FastDateFormat dateFormat__yyyyMMddHHmmss = FastDateFormat.getInstance("yyyy.MM.dd HH:mm:ss"); + public static FastDateFormat STREAM_DATE_FORMAT = FastDateFormat.getInstance("yyyy_MM_dd_HH_mm_ss"); + public static String FULL_DF_PATTERN = "dd.MM.yyyy HH:mm:ss z (Z)"; + public static FastDateFormat FULL_DATE_FORMAT = FastDateFormat.getInstance(FULL_DF_PATTERN); public static String getDateByMiliSeconds(Date t) { - return dateFormat__yyyyMMddHHmmss.get().format(t); + return dateFormat__yyyyMMddHHmmss.format(t); } public static String getDateWithTimeByMiliSeconds(Date t) { - return t == null ? null : dateFormat__yyyyMMddHHmmss.get().format(t); + return t == null ? null : dateFormat__yyyyMMddHHmmss.format(t); } public static String getDateWithTimeByMiliSecondsWithZone(Date t) { - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; + return t == null ? null : FULL_DATE_FORMAT.format(t); } public static String getExportDate(Date t) { @@ -91,13 +66,13 @@ public class CalendarPatterns { Date resultDate = null; - resultDate = validDate(dateFormat__ddMMyyyyHHmmss.get(), dateString); + resultDate = validDate(dateFormat__ddMMyyyyHHmmss, dateString); if (resultDate != null) { return resultDate; } - resultDate = validDate(dateFormat__ddMMyyyy.get(), dateString); + resultDate = validDate(dateFormat__ddMMyyyy, dateString); if (resultDate != null) { return resultDate; @@ -130,7 +105,7 @@ public class CalendarPatterns { return null; } - private static Date validDate(SimpleDateFormat sdf, String testdate) { + private static Date validDate(FastDateFormat sdf, String testdate) { Date resultDate = null; try { resultDate = sdf.parse(testdate); @@ -151,32 +126,17 @@ public class CalendarPatterns { } - public static String getDateWithTimeByMiliSecondsAndTimeZone(Date t, - TimeZone timezone) { - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); - sdf.setTimeZone(timezone); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; + public static String getDateWithTimeByMiliSecondsAndTimeZone(Date t, TimeZone timezone) { + return t == null ? null : FastDateFormat.getInstance(FULL_DF_PATTERN, timezone).format(t); } public static String getTimeForStreamId(Date t) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; + return STREAM_DATE_FORMAT.format(t); } public static Date parseDate(String dateString) { try { - return dateFormat__ddMMyyyy.get().parse(dateString); + return dateFormat__ddMMyyyy.parse(dateString); } catch (Exception e) { log.error("parseDate", e); } @@ -185,7 +145,7 @@ public class CalendarPatterns { public static Date parseDateBySeparator(String dateString) { try { - return dateFormat__ddMMyyyyBySeparator.get().parse(dateString); + return dateFormat__ddMMyyyyBySeparator.parse(dateString); } catch (Exception e) { log.error("parseDate", e); } @@ -198,20 +158,10 @@ public class CalendarPatterns { || dateString.equals("null")) { return null; } - return dateFormat__ddMMyyyyHHmmss.get().parse(dateString); + return dateFormat__ddMMyyyyHHmmss.parse(dateString); } catch (Exception e) { log.error("parseDate", e); } return null; } - - public static String getYear(Date t) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - } Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java Sun Sep 11 04:50:07 2016 @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.util; +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -31,14 +33,13 @@ import org.red5.logging.Red5LoggerFactor import org.slf4j.Logger; public class OmFileHelper { - private static final Logger log = Red5LoggerFactory.getLogger(OmFileHelper.class, OpenmeetingsVariables.webAppRootKey); + private static final Logger log = Red5LoggerFactory.getLogger(OmFileHelper.class, webAppRootKey); /** * This variable needs to point to the openmeetings webapp directory */ private static File OM_HOME = null; private static final String UPLOAD_DIR = "upload"; - private static final String UPLOAD_TEMP_DIR = "uploadtemp"; private static final String FILES_DIR = "files"; private static final String PUBLIC_DIR = "public"; private static final String CLIPARTS_DIR = "cliparts"; @@ -53,11 +54,11 @@ public class OmFileHelper { private static final String BACKUP_DIR = "backup"; private static final String IMAGES_DIR = "images"; private static final String WML_DIR = "stored"; - + private static final String INSTALL_FILE = "install.xml"; - + public static final String SCREENSHARING_DIR = "screensharing"; - + public static final String PERSISTENCE_NAME = "classes/META-INF/persistence.xml"; public static final String DB_PERSISTENCE_NAME = "classes/META-INF/%s_persistence.xml"; public static final String profilesPrefix = "profile_"; @@ -77,11 +78,7 @@ public class OmFileHelper { public static final String EXTENSION_OGG = "ogg"; public static final String EXTENSION_JPG = "jpg"; public static final String EXTENSION_SWF = "swf"; - public static final String WML_EXTENSION = "." + EXTENSION_WML; - public static final String FLV_EXTENSION = "." + EXTENSION_FLV; - public static final String MP4_EXTENSION = "." + EXTENSION_MP4; - public static final String OGG_EXTENSION = "." + EXTENSION_OGG; - public static final String JPG_EXTENSION = "." + EXTENSION_JPG; + public static final String EXTENSION_PDF = "pdf"; public static final String WB_VIDEO_FILE_PREFIX = "UPLOADFLV_"; public static final String FLV_MIME_TYPE = "video/" + EXTENSION_FLV; public static final String MP4_MIME_TYPE = "video/" + EXTENSION_MP4; @@ -90,20 +87,20 @@ public class OmFileHelper { public static void setOmHome(File omHome) { OmFileHelper.OM_HOME = omHome; } - + public static void setOmHome(String omHome) { OmFileHelper.OM_HOME = new File(omHome); } - + public static File getRootDir() { - //FIXME hack !!!! + // FIXME hack !!!! return getOmHome().getParentFile().getParentFile(); } - + public static File getOmHome() { return OmFileHelper.OM_HOME; } - + private static File getDir(File parent, String name) { File f = new File(parent, name); if (!f.exists()) { @@ -111,31 +108,31 @@ public class OmFileHelper { } return f; } - + public static File getUploadDir() { return new File(OmFileHelper.OM_HOME, UPLOAD_DIR); } - + public static File getUploadFilesDir() { return getDir(getUploadDir(), FILES_DIR); } - + public static File getUploadProfilesDir() { return getDir(getUploadDir(), PROFILES_DIR); } - + public static File getUploadProfilesUserDir(Long userId) { return getDir(getUploadProfilesDir(), profilesPrefix + userId); } - + public static File getUploadProfilesUserDir(String userId) { return getDir(getUploadProfilesDir(), profilesPrefix + userId); } - + public static File getDefaultProfilePicture() { return new File(getImagesDir(), defaultProfileImageName); } - + public static File getUserProfilePicture(Long userId, String uri) { File img = new File(getUploadProfilesUserDir(userId), profileImagePrefix + uri); if (!img.exists()) { @@ -143,119 +140,95 @@ public class OmFileHelper { } return img; } - + public static File getUserDashboard(Long userId) { return new File(getUploadProfilesUserDir(userId), dashboardFile); } - + public static File getUploadImportDir() { return getDir(getUploadDir(), IMPORT_DIR); } - + public static File getUploadBackupDir() { return getDir(getUploadDir(), BACKUP_DIR); } - + public static File getUploadRoomDir(String roomName) { return getDir(getUploadDir(), roomName); } - + public static File getUploadWmlDir() { return getDir(getUploadDir(), WML_DIR); } - - public static File getUploadTempDir() { - return getDir(OmFileHelper.OM_HOME, UPLOAD_TEMP_DIR); - } - - public static File getUploadTempFilesDir() { - return getDir(getUploadTempDir(), FILES_DIR); - } - - public static File getUploadTempProfilesDir() { - return getDir(getUploadTempDir(), PROFILES_DIR); - } - - public static File getUploadTempProfilesUserDir(Long userId) { - return getDir(getUploadTempProfilesDir(), OmFileHelper.profilesPrefix + userId); - } - - public static File getUploadTempRoomDir(String roomName) { - return getDir(getUploadTempDir(), roomName); - } - + public static File getStreamsDir() { return getDir(OmFileHelper.OM_HOME, STREAMS_DIR); } - + public static File getStreamsHibernateDir() { return getDir(getStreamsDir(), HIBERNATE_DIR); } - + public static File getRecording(String name) { return new File(getDir(getStreamsDir(), HIBERNATE_DIR), name); } - - public static File getMp4Recording(String name) { - return getRecording(name + MP4_EXTENSION); - } - - public static File getOggRecording(String name) { - return getRecording(name + OGG_EXTENSION); - } - + public static File getStreamsSubDir(Long id) { return getDir(getStreamsDir(), id.toString()); } - + public static File getStreamsSubDir(String name) { return getDir(getStreamsDir(), name); } - + + public static String getName(String name, String ext) { + return String.format("%s.%s", name, ext); + } + public static File getRecordingMetaData(Long roomId, String name) { - return new File(getStreamsSubDir(roomId), name + FLV_EXTENSION); + return new File(getStreamsSubDir(roomId), getName(name, EXTENSION_FLV)); } - + public static File getLanguagesDir() { return new File(OmFileHelper.OM_HOME, LANGUAGES_DIR); } - + public static File getPublicDir() { return new File(OmFileHelper.OM_HOME, PUBLIC_DIR); } - + public static File getPublicClipartsDir() { return new File(getPublicDir(), CLIPARTS_DIR); } - + public static File getPublicEmotionsDir() { return new File(getPublicDir(), EMOTIONS_DIR); } - + public static File getWebinfDir() { return new File(OmFileHelper.OM_HOME, WEB_INF_DIR); } - + public static File getPersistence() { - return getPersistence((DbType)null); + return getPersistence((DbType) null); } - + public static File getPersistence(String dbType) { return getPersistence(DbType.valueOf(dbType)); } - + public static File getPersistence(DbType dbType) { return new File(OmFileHelper.getWebinfDir(), dbType == null ? PERSISTENCE_NAME : String.format(DB_PERSISTENCE_NAME, dbType)); } - + public static File getConfDir() { return new File(OmFileHelper.OM_HOME, CONF_DIR); } - + public static File getInstallFile() { return new File(getConfDir(), INSTALL_FILE); } - + public static File getScreenSharingDir() { return new File(OmFileHelper.OM_HOME, SCREENSHARING_DIR); } @@ -263,7 +236,7 @@ public class OmFileHelper { public static File getImagesDir() { return new File(OmFileHelper.OM_HOME, IMAGES_DIR); } - + public static File appendSuffix(File original, String suffix) { File parent = original.getParentFile(); String name = original.getName(); @@ -275,10 +248,10 @@ public class OmFileHelper { } return new File(parent, name + suffix + ext); } - - //FIXME need to be generalized + + // FIXME need to be generalized public static File getNewFile(File dir, String name, String ext) throws IOException { - File f = new File(dir, name + ext); + File f = new File(dir, getName(name, ext)); int recursiveNumber = 0; while (f.exists()) { f = new File(dir, name + "_" + (recursiveNumber++) + ext); @@ -286,7 +259,7 @@ public class OmFileHelper { f.createNewFile(); return f; } - + public static File getNewDir(File dir, String name) throws IOException { File f = new File(dir, name); String baseName = f.getCanonicalPath(); @@ -298,16 +271,18 @@ public class OmFileHelper { f.mkdir(); return f; } - + public static String getHumanSize(File dir) { return getHumanSize(getSize(dir)); } - + public static String getHumanSize(long size) { - if(size <= 0) return "0"; + if (size <= 0) { + return "0"; + } final String[] units = new String[] { "B", "KB", "MB", "GB", "TB" }; - int digitGroups = (int) (Math.log10(size)/Math.log10(1024)); - return new DecimalFormat("#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups]; + int digitGroups = (int) (Math.log10(size) / Math.log10(1024)); + return new DecimalFormat("#,##0.#").format(size / Math.pow(1024, digitGroups)) + " " + units[digitGroups]; } public static long getSize(File dir) { @@ -316,14 +291,14 @@ public class OmFileHelper { size = dir.length(); } else { File[] subFiles = dir.listFiles(); - + for (File file : subFiles) { if (file.isFile()) { size += file.length(); } else { size += getSize(file); } - + } } return size; @@ -332,7 +307,7 @@ public class OmFileHelper { public static void copyFile(String sourceFile, String targetFile) throws IOException { FileHelper.copy(new File(sourceFile), new File(targetFile)); } - + public static void copyFile(File f1, OutputStream out) throws IOException { try (InputStream in = new FileInputStream(f1)) { FileHelper.copy(in, out); Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java Sun Sep 11 04:50:07 2016 @@ -18,12 +18,13 @@ */ package org.apache.openmeetings.util; +import static java.nio.charset.StandardCharsets.UTF_8; + import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; -import java.nio.charset.StandardCharsets; import org.dom4j.Document; import org.dom4j.DocumentHelper; @@ -66,7 +67,7 @@ public class XmlExport { public static Document createDocument() { Document document = DocumentHelper.createDocument(); - document.setXMLEncoding(StandardCharsets.UTF_8.name()); + document.setXMLEncoding(UTF_8.name()); document.addComment(XmlExport.FILE_COMMENT); return document; } @@ -84,12 +85,12 @@ public class XmlExport { public static void toXml(Writer out, Document doc) throws Exception { OutputFormat outformat = OutputFormat.createPrettyPrint(); - outformat.setEncoding(StandardCharsets.UTF_8.name()); + outformat.setEncoding(UTF_8.name()); XMLWriter writer = new XMLWriter(out, outformat); writer.write(doc); writer.flush(); - out.flush(); - out.close(); + out.flush(); + out.close(); } public static void toXml(File f, Document doc) throws Exception { Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java Sun Sep 11 04:50:07 2016 @@ -18,7 +18,8 @@ */ package org.apache.openmeetings.util.crypt; -import java.nio.charset.StandardCharsets; +import static java.nio.charset.StandardCharsets.UTF_8; + import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -27,7 +28,7 @@ import org.apache.commons.codec.binary.H public class MD5 { public static String checksum(String data) throws NoSuchAlgorithmException { MessageDigest md5 = MessageDigest.getInstance("MD5"); - byte[] b = data == null ? new byte[0] : data.getBytes(StandardCharsets.UTF_8); + byte[] b = data == null ? new byte[0] : data.getBytes(UTF_8); md5.update(b, 0, b.length); return Hex.encodeHexString(md5.digest()); } Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Crypt.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Crypt.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Crypt.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Crypt.java Sun Sep 11 04:50:07 2016 @@ -18,7 +18,8 @@ */ package org.apache.openmeetings.util.crypt; -import java.nio.charset.StandardCharsets; +import static java.nio.charset.StandardCharsets.UTF_8; + import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -268,16 +269,16 @@ public final class MD5Crypt { ctx = MessageDigest.getInstance("MD5"); - ctx.update(password.getBytes(StandardCharsets.UTF_8)); // The password first, since that is what is most unknown - ctx.update(magic.getBytes(StandardCharsets.UTF_8)); // Then our magic string - ctx.update(salt.getBytes(StandardCharsets.UTF_8)); // Then the raw salt + ctx.update(password.getBytes(UTF_8)); // The password first, since that is what is most unknown + ctx.update(magic.getBytes(UTF_8)); // Then our magic string + ctx.update(salt.getBytes(UTF_8)); // Then the raw salt /* Then just as many characters of the MD5(pw,salt,pw) */ ctx1 = MessageDigest.getInstance("MD5"); - ctx1.update(password.getBytes(StandardCharsets.UTF_8)); - ctx1.update(salt.getBytes(StandardCharsets.UTF_8)); - ctx1.update(password.getBytes(StandardCharsets.UTF_8)); + ctx1.update(password.getBytes(UTF_8)); + ctx1.update(salt.getBytes(UTF_8)); + ctx1.update(password.getBytes(UTF_8)); finalState = ctx1.digest(); for (int pl = password.length(); pl > 0; pl -= 16) { @@ -299,7 +300,7 @@ public final class MD5Crypt { if ((i & 1) != 0) { ctx.update(finalState[0]); } else { - ctx.update(password.getBytes(StandardCharsets.UTF_8)[0]); + ctx.update(password.getBytes(UTF_8)[0]); } } @@ -317,25 +318,25 @@ public final class MD5Crypt { ctx1 = MessageDigest.getInstance("MD5"); if ((i & 1) != 0) { - ctx1.update(password.getBytes(StandardCharsets.UTF_8)); + ctx1.update(password.getBytes(UTF_8)); } else { for (int c = 0; c < 16; c++) ctx1.update(finalState[c]); } if ((i % 3) != 0) { - ctx1.update(salt.getBytes(StandardCharsets.UTF_8)); + ctx1.update(salt.getBytes(UTF_8)); } if ((i % 7) != 0) { - ctx1.update(password.getBytes(StandardCharsets.UTF_8)); + ctx1.update(password.getBytes(UTF_8)); } if ((i & 1) != 0) { for (int c = 0; c < 16; c++) ctx1.update(finalState[c]); } else { - ctx1.update(password.getBytes(StandardCharsets.UTF_8)); + ctx1.update(password.getBytes(UTF_8)); } finalState = ctx1.digest(); Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256.java Sun Sep 11 04:50:07 2016 @@ -18,7 +18,8 @@ */ package org.apache.openmeetings.util.crypt; -import java.nio.charset.StandardCharsets; +import static java.nio.charset.StandardCharsets.UTF_8; + import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -27,7 +28,7 @@ import org.apache.commons.codec.binary.H public class SHA256 { public static String checksum(String data) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("SHA-256"); - byte[] b = data == null ? new byte[0] : data.getBytes(StandardCharsets.UTF_8); + byte[] b = data == null ? new byte[0] : data.getBytes(UTF_8); md.update(b); return Hex.encodeHexString(md.digest()); } Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256Implementation.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256Implementation.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256Implementation.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256Implementation.java Sun Sep 11 04:50:07 2016 @@ -18,9 +18,9 @@ */ package org.apache.openmeetings.util.crypt; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; -import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; @@ -39,15 +39,15 @@ public class SHA256Implementation implem private static final int SALT_LENGTH = 256; private static byte[] getSalt() throws NoSuchAlgorithmException { - SecureRandom sr = SecureRandom.getInstance(SECURE_RND_ALG); - byte[] salt = new byte[SALT_LENGTH]; - sr.nextBytes(salt); - return salt; - } + SecureRandom sr = SecureRandom.getInstance(SECURE_RND_ALG); + byte[] salt = new byte[SALT_LENGTH]; + sr.nextBytes(salt); + return salt; + } private static String hash(String str, byte[] salt, int iter) { PKCS5S2ParametersGenerator gen = new PKCS5S2ParametersGenerator(new SHA256Digest()); - gen.init(str.getBytes(StandardCharsets.UTF_8), salt, iter); + gen.init(str.getBytes(UTF_8), salt, iter); byte[] dk = ((KeyParameter) gen.generateDerivedParameters(KEY_LENGTH)).getKey(); return Base64.encodeBase64String(dk); } Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java Sun Sep 11 04:50:07 2016 @@ -18,10 +18,15 @@ */ package org.apache.openmeetings.util.mail; -import java.io.*; -import java.nio.charset.StandardCharsets; +import static java.nio.charset.StandardCharsets.UTF_8; -import javax.activation.*; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import javax.activation.DataSource; public class ByteArrayDataSource implements DataSource { private byte[] data; // data @@ -50,7 +55,7 @@ public class ByteArrayDataSource impleme /* Create a DataSource from a String */ public ByteArrayDataSource(String data, String type) { - this.data = data.getBytes(StandardCharsets.UTF_8); + this.data = data.getBytes(UTF_8); this.type = type; } Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResult.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResult.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResult.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResult.java Sun Sep 11 04:50:07 2016 @@ -28,11 +28,13 @@ package org.apache.openmeetings.util.pro * */ public class ConverterProcessResult { + public static final Integer ZERO = new Integer(0); + private String process; private String command; private String exception; private String error; - private String exitValue; + private Integer exitCode; private String out; public ConverterProcessResult() { @@ -47,7 +49,7 @@ public class ConverterProcessResult { setProcess(process); setException(ex == null ? null : ex.toString()); setError(error); - setExitValue("-1"); + setExitCode(-1); } public String getOut() { @@ -90,12 +92,16 @@ public class ConverterProcessResult { this.error = error; } - public String getExitValue() { - return exitValue; + public Integer getExitCode() { + return exitCode; } - public void setExitValue(String exitValue) { - this.exitValue = exitValue; + public void setExitCode(Integer exitCode) { + this.exitCode = exitCode; + } + + public boolean isOk() { + return ZERO.equals(exitCode); } public String buildLogMessage() { @@ -104,7 +110,7 @@ public class ConverterProcessResult { .append("command: ").append(command).append("\r\n") .append("exception: ").append(exception).append("\r\n") .append("error: ").append(error).append("\r\n") - .append("exitValue: ").append(exitValue).append("\r\n") + .append("exitValue: ").append(exitCode).append("\r\n") .append("out: ").append(out).append("\r\n").toString(); } } Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java Sun Sep 11 04:50:07 2016 @@ -73,7 +73,7 @@ public class ConverterProcessResultList */ public boolean hasError() { for (Entry<String, ConverterProcessResult> entry : jobslist.entrySet()) { - if ("-1".equals(entry.getValue().getExitValue())) { + if (!entry.getValue().isOk()) { return true; } } Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ProcessHelper.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ProcessHelper.java?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ProcessHelper.java (original) +++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ProcessHelper.java Sun Sep 11 04:50:07 2016 @@ -18,12 +18,13 @@ */ package org.apache.openmeetings.util.process; +import static java.nio.charset.StandardCharsets.UTF_8; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; -import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeoutException; @@ -61,7 +62,7 @@ public class ProcessHelper { private StreamWatcher(Process process, boolean isError) throws UnsupportedEncodingException { output = new StringBuilder(); is = isError ? process.getErrorStream() : process.getInputStream(); - br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); + br = new BufferedReader(new InputStreamReader(is, UTF_8)); } @Override @@ -150,13 +151,13 @@ public class ProcessHelper { try { worker.join(timeout); if (worker.exitCode != null) { - returnMap.setExitValue("" + worker.exitCode); + returnMap.setExitCode(worker.exitCode); log.debug("exitVal: " + worker.exitCode); returnMap.setError(errorWatcher.output.toString()); } else { returnMap.setException("timeOut"); returnMap.setError(errorWatcher.output.toString()); - returnMap.setExitValue("-1"); + returnMap.setExitCode(-1); throw new TimeoutException(); } @@ -167,25 +168,18 @@ public class ProcessHelper { Thread.currentThread().interrupt(); returnMap.setError(ex.getMessage()); - returnMap.setExitValue("-1"); + returnMap.setExitCode(-1); throw ex; } finally { proc.destroy(); } - } catch (TimeoutException e) { - // Timeout exception is processed above - log.error("executeScript",e); - returnMap.setError(e.getMessage()); - returnMap.setException(e.toString()); - returnMap.setExitValue("-1"); } catch (Throwable t) { - // Any other exception is shown in debug window - log.error("executeScript",t); + log.error("executeScript", t); returnMap.setError(t.getMessage()); returnMap.setException(t.toString()); - returnMap.setExitValue("-1"); + returnMap.setExitCode(-1); } debugCommandEnd(process); Modified: openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml (original) +++ openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml Sun Sep 11 04:50:07 2016 @@ -472,10 +472,6 @@ </exclusion> </exclusions> </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - </dependency> <!-- Test dependencies --> <dependency> <groupId>org.seleniumhq.selenium</groupId> Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml (original) +++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml Sun Sep 11 04:50:07 2016 @@ -1894,7 +1894,6 @@ <entry key="dashboard.widget.admin.desc">General Admin functions</entry> <entry key="dashboard.widget.admin.cleanup.title">Cleanup report</entry> <entry key="dashboard.widget.admin.cleanup.show">Show cleanup report</entry> - <entry key="dashboard.widget.admin.cleanup.temp">Temporary files:</entry> <entry key="dashboard.widget.admin.cleanup.upload">Upload folder:</entry> <entry key="dashboard.widget.admin.cleanup.profiles">profiles:</entry> <entry key="dashboard.widget.admin.cleanup.invalid">invalid:</entry> @@ -1953,4 +1952,6 @@ <entry key="network.test.upl.speed">Upload speed</entry> <entry key="access.denied.header">Access denied. You are not authorized to perform this action.</entry> <entry key="save.success">Saved successfully</entry> + <entry key="convert.errors.file">The have been errors while processing the file</entry> + <entry key="convert.errors.file.missing">File is not found</entry> </properties> Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml (original) +++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml Sun Sep 11 04:50:07 2016 @@ -1894,7 +1894,6 @@ <entry key="dashboard.widget.admin.desc">General Admin functions</entry> <entry key="dashboard.widget.admin.cleanup.title">Cleanup report</entry> <entry key="dashboard.widget.admin.cleanup.show">Show cleanup report</entry> - <entry key="dashboard.widget.admin.cleanup.temp">Temporary files:</entry> <entry key="dashboard.widget.admin.cleanup.upload">Upload folder:</entry> <entry key="dashboard.widget.admin.cleanup.profiles">profiles:</entry> <entry key="dashboard.widget.admin.cleanup.invalid">invalid:</entry> @@ -1953,4 +1952,6 @@ <entry key="network.test.upl.speed">Upload speed</entry> <entry key="access.denied.header">Access denied. You are not authorized to perform this action.</entry> <entry key="save.success">Saved successfully</entry> + <entry key="convert.errors.file">The have been errors while processing the file</entry> + <entry key="convert.errors.file.missing">File is not found</entry> </properties> Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml (original) +++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml Sun Sep 11 04:50:07 2016 @@ -1894,7 +1894,6 @@ <entry key="dashboard.widget.admin.desc">General Admin functions</entry> <entry key="dashboard.widget.admin.cleanup.title">Cleanup report</entry> <entry key="dashboard.widget.admin.cleanup.show">Show cleanup report</entry> - <entry key="dashboard.widget.admin.cleanup.temp">Temporary files:</entry> <entry key="dashboard.widget.admin.cleanup.upload">Upload folder:</entry> <entry key="dashboard.widget.admin.cleanup.profiles">profiles:</entry> <entry key="dashboard.widget.admin.cleanup.invalid">invalid:</entry> @@ -1953,4 +1952,6 @@ <entry key="network.test.upl.speed">Upload speed</entry> <entry key="access.denied.header">Access denied. You are not authorized to perform this action.</entry> <entry key="save.success">Saved successfully</entry> + <entry key="convert.errors.file">The have been errors while processing the file</entry> + <entry key="convert.errors.file.missing">File is not found</entry> </properties> Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml?rev=1760224&r1=1760223&r2=1760224&view=diff ============================================================================== --- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml (original) +++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml Sun Sep 11 04:50:07 2016 @@ -1894,7 +1894,6 @@ <entry key="dashboard.widget.admin.desc">General Admin functions</entry> <entry key="dashboard.widget.admin.cleanup.title">Cleanup report</entry> <entry key="dashboard.widget.admin.cleanup.show">Show cleanup report</entry> - <entry key="dashboard.widget.admin.cleanup.temp">Temporary files:</entry> <entry key="dashboard.widget.admin.cleanup.upload">Upload folder:</entry> <entry key="dashboard.widget.admin.cleanup.profiles">profiles:</entry> <entry key="dashboard.widget.admin.cleanup.invalid">invalid:</entry> @@ -1953,4 +1952,6 @@ <entry key="network.test.upl.speed">Upload speed</entry> <entry key="access.denied.header">Access denied. You are not authorized to perform this action.</entry> <entry key="save.success">Saved successfully</entry> + <entry key="convert.errors.file">The have been errors while processing the file</entry> + <entry key="convert.errors.file.missing">File is not found</entry> </properties>
