Skip to content

Commit

Permalink
Russian names encoding issue is resolved
Browse files Browse the repository at this point in the history
  • Loading branch information
Pavel Zaichenkov committed Jun 3, 2011
1 parent 0bcb28b commit b93ab61
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 73 deletions.
8 changes: 0 additions & 8 deletions src/main/java/ru/natty/parser/LocalParser.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package ru.natty.parser;


Expand All @@ -11,15 +6,12 @@
import java.util.HashSet;
import java.util.Set;
import java.util.Stack;
import java.util.logging.Level;
import org.apache.log4j.Logger;
import org.jaudiotagger.audio.AudioFile;
import org.jaudiotagger.audio.AudioFileIO;
import org.jaudiotagger.audio.exceptions.CannotReadException;
import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException;
import org.jaudiotagger.audio.exceptions.ReadOnlyFileException;
import org.jaudiotagger.audio.mp3.MP3File;
import org.jaudiotagger.tag.Tag;
import org.jaudiotagger.tag.TagException;
import ru.natty.tags.TagsCommiter;

Expand Down
34 changes: 28 additions & 6 deletions src/main/java/ru/natty/parser/MainClass.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package ru.natty.parser;

import java.io.IOException;
Expand All @@ -17,7 +12,34 @@ public class MainClass {
public static void main(String[] args) throws SmbException, IOException {
LogManager.getLogManager().readConfiguration();
LocalParser musicController = new LocalParser();
musicController.parse("/mnt");
// musicController.parse("/mnt/b", "/b");
// musicController.parse("/mnt/a", "/a");
// musicController.parse("/mnt/а", "/а");
// musicController.parse("/mnt/б", "/б");
// musicController.parse("/mnt/в", "/в");
// musicController.parse("/mnt/г", "/г");
// musicController.parse("/mnt/д", "/д");
// musicController.parse("/mnt/л", "/л");
// musicController.parse("/mnt/м", "/м");
// musicController.parse("/mnt/н", "/н");
musicController.parse("/mnt/о", "/о");
musicController.parse("/mnt/п", "/п");
musicController.parse("/mnt/р", "/р");
musicController.parse("/mnt/с", "/с");
musicController.parse("/mnt/т", "/т");
musicController.parse("/mnt/у", "/у");
musicController.parse("/mnt/ф", "/ф");
musicController.parse("/mnt/х", "/х");
musicController.parse("/mnt/ц", "/ц");
musicController.parse("/mnt/ч", "/ч");
musicController.parse("/mnt/ш", "/ш");
musicController.parse("/mnt/щ", "/щ");
musicController.parse("/mnt/ъ", "/ъ");
musicController.parse("/mnt/ы", "/ы");
musicController.parse("/mnt/ь", "/ь");
musicController.parse("/mnt/э", "/э");
musicController.parse("/mnt/ю", "/ю");
musicController.parse("/mnt/я", "/я");
musicController.close();
}
}
19 changes: 0 additions & 19 deletions src/main/java/ru/natty/persist/Album.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
Expand Down Expand Up @@ -40,10 +38,6 @@
@Entity
@Table(name = "album")
@NamedQueries({
// @NamedQuery(name = "AlbumArtist.findByName", query = "SELECT Artist.name, Album.name FROM Artist " +
// "INNER JOIN albums_artists ON Artist.id = albums_artists.artist_id " +
// "INNER JOIN Album ON albums_artists.album_id = Album.id " +
// "WHERE Artist.name = :artist_name AND Album.name = :album_name"),
@NamedQuery(name = "Album.findAll", query = "SELECT a FROM Album a"),
@NamedQuery(name = "Album.findById", query = "SELECT a FROM Album a WHERE a.id = :id"),
@NamedQuery(name = "Album.findByName", query = "SELECT a FROM Album a WHERE a.name = :name"),
Expand Down Expand Up @@ -85,19 +79,6 @@ public class Album implements Serializable, IdNamed {
@Transient
private final Integer STRING_LENGTH = 255;

// @Transient
// private Artist artist = null;
//
// public void setArtist(Artist art)
// {
// artist = art;
// }
//
// public Artist getArtist()
// {
// return artist;
// }

public Boolean isExists()
{
return beanExists;
Expand Down
7 changes: 0 additions & 7 deletions src/main/java/ru/natty/persist/Artist.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
package ru.natty.persist;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
Expand Down Expand Up @@ -35,18 +33,13 @@
@Entity
@Table(name = "artist")
@NamedQueries({
// @NamedQuery(name = "AlbumArtist.findByName", query = "SELECT Artist.name, Album.name FROM Artist " +
// "INNER JOIN albums_artists ON Artist.id = albums_artists.artist_id " +
// "INNER JOIN Album ON albums_artists.album_id = Album.id " +
// "WHERE Artist.name = :artist_name AND Album.name = :album_name"),
@NamedQuery(name = "Artist.findAll", query = "SELECT a FROM Artist a"),
@NamedQuery(name = "Artist.findById", query = "SELECT a FROM Artist a WHERE a.id = :id"),
@NamedQuery(name = "Artist.findByGenreAndPattern", query = "SELECT a FROM Artist a"
+ " JOIN a.genreCollection g"
+ " WHERE g.id = :genre AND"
+ " UPPER(a.name) like :name"),
@NamedQuery(name = "Artist.findByName", query = "SELECT a FROM Artist a WHERE a.name = :name")})
//@NamedQuery(name = "Artist.findByPattern", query = "SELECT a FROM Artist a WHERE UPPER(a.name) like UPPER(:name)")})
public class Artist implements Serializable, IdNamed {
private static final long serialVersionUID = 1L;
@Id
Expand Down
6 changes: 0 additions & 6 deletions src/main/java/ru/natty/persist/Genre.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package ru.natty.persist;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
Expand Down
3 changes: 0 additions & 3 deletions src/main/java/ru/natty/persist/Track.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
Expand Down Expand Up @@ -44,7 +42,6 @@
@NamedQuery(name = "Track.findByYear", query = "SELECT t FROM Track t WHERE t.year = :year"),
@NamedQuery(name = "Track.findByNameAndYear", query = "SELECT t FROM Track t WHERE t.name = :name AND t.year = :year"),
@NamedQuery(name = "Track.findByNameAndNullYear", query = "SELECT t FROM Track t WHERE t.name = :name AND t.year IS NULL"),
//@NamedQuery(name = "Track.findByNameYearAndAlbum", query = "SELECT a FROM (Track a LEFT JOIN tracks_albums b ON a.id=b.track_id) LEFT JOIN Album c ON c.id=b.album_id WHERE a.name=:name AND a.year=:year AND c.name=:album"),
@NamedQuery(name = "Track.findByUrl", query = "SELECT t FROM Track t WHERE t.url = :url")})
public class Track implements Serializable, IdNamed
{
Expand Down
27 changes: 4 additions & 23 deletions src/main/java/ru/natty/tags/TagsCommiter.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,7 @@
import org.jaudiotagger.audio.mp3.MP3File;
import org.jaudiotagger.tag.FieldKey;
import org.jaudiotagger.tag.Tag;
import org.jaudiotagger.tag.TagField;
import org.jaudiotagger.tag.id3.AbstractID3v2Frame;
import org.jaudiotagger.tag.id3.AbstractID3v2Tag;
import org.jaudiotagger.tag.id3.ID3v1Tag;
import org.jaudiotagger.tag.id3.ID3v24FieldKey;
import org.jaudiotagger.tag.id3.ID3v24Frames;
import org.jaudiotagger.tag.id3.ID3v24Tag;
import org.jaudiotagger.tag.id3.framebody.AbstractFrameBodyTextInfo;
import ru.natty.persist.Album;
import ru.natty.persist.Artist;
import ru.natty.persist.Genre;
Expand Down Expand Up @@ -290,6 +283,7 @@ private Date getYear(String path, MP3File f)

private String formatArtist(String source)
{
source = EncodingConverter.getInstance().convertToUTF8(source);
source.replaceAll("\\(\\d+\\)", "");
try
{
Expand All @@ -302,22 +296,6 @@ private String formatArtist(String source)
return null;
}

private ArrayList<String> getTrackName(String path, MP3File f)
{
ArrayList<String> ret = new ArrayList<String>();
Tag tag = f.getTag();
if(tag != null && !tag.isEmpty())
{
Integer fieldsNumber = tag.getFields(FieldKey.TITLE).size();
for(int i = 0; i < fieldsNumber; i++)
{
ret.add(tag.getValue(FieldKey.TITLE, i));
}
}
return ret;
}


private ArrayList<Track> getTrack(String path, MP3File f)
{
ArrayList<Track> ret = new ArrayList<Track>();
Expand Down Expand Up @@ -413,6 +391,7 @@ else if ((tmp = findArtist(art)) != null)

private String formatGenre(String source)
{
source = EncodingConverter.getInstance().convertToUTF8(source);
source = source.replaceAll("\\(\\d+\\)", "");
try
{
Expand Down Expand Up @@ -468,6 +447,7 @@ else if ((tmp = findGenre(gen)) != null)

private String formatTrack(String source)
{
source = EncodingConverter.getInstance().convertToUTF8(source);
source = source.replaceAll(" *\\d?\\d *- *", "");
try
{
Expand All @@ -482,6 +462,7 @@ private String formatTrack(String source)

private String formatAlbum(String source)
{
source = EncodingConverter.getInstance().convertToUTF8(source);
source = source.replaceAll("\\(\\d+\\)", "");
try
{
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/META-INF/persistence.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="javax.persistence.jdbc.user" value="super"/>
<property name="javax.persistence.jdbc.password" value="super"/>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/test/public"/>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/natty/public"/>
</properties>
</persistence-unit>
</persistence>

0 comments on commit b93ab61

Please sign in to comment.