Changeset 2589

Show
Ignore:
Timestamp:
09/10/13 14:27:14 (7 years ago)
Author:
heitor.barbieri
Message:

Finding first subfield of a field.

Location:
Bruma/trunk
Files:
1 added
2 removed
3 modified

Legend:

Unmodified
Added
Removed
  • Bruma/trunk/nbproject/project.properties

    r2584 r2589  
    2929excludes= 
    3030file.reference.lucene-core-3.3.0.jar=lib/lucene-core-3.3.0.jar 
    31 file.reference.mongo-java-driver-2.11.1.jar=lib/mongo-java-driver-2.11.1.jar 
     31file.reference.mongo-java-driver-2.11.2.jar=lib/mongo-java-driver-2.11.2.jar 
    3232includes=** 
    3333jar.archive.disabled=${jnlp.enabled} 
     
    3636javac.classpath=\ 
    3737    ${file.reference.lucene-core-3.3.0.jar}:\ 
    38     ${file.reference.mongo-java-driver-2.11.1.jar} 
     38    ${file.reference.mongo-java-driver-2.11.2.jar} 
    3939# Space-separated list of extra javac options 
    4040javac.compilerargs=-Xlint:unchecked 
  • Bruma/trunk/src/bruma/master/Field.java

    r2583 r2589  
    182182    public List<Subfield> getTagSubfields(final char id) throws BrumaException { 
    183183        final List<Subfield> ret = new ArrayList<Subfield>(); 
    184         final Matcher matcher = pat.matcher(content); 
    185         char id2; 
    186         String sid; 
    187         String subfield; 
    188184         
    189         while (matcher.find()) { 
    190             sid = matcher.group(2); 
    191             if ((sid != null) && !sid.isEmpty()) { 
    192                 id2 = sid.charAt(0); 
    193                 if (id == id2) { 
    194                     subfield = matcher.group(3); 
    195                     ret.add(new Subfield(id, subfield)); 
     185        if (id == Subfield.FIRST_SUB_ID) { 
     186            final int idx = content.indexOf('^'); 
     187            if (idx == -1) { 
     188                ret.add(new Subfield(Subfield.FIRST_SUB_ID, content)); 
     189            } else { 
     190                ret.add(new Subfield(Subfield.FIRST_SUB_ID,  
     191                                                    content.substring(0, idx))); 
     192            } 
     193        } else { 
     194            final Matcher matcher = pat.matcher(content); 
     195            char id2; 
     196            String sid; 
     197            String subfield; 
     198 
     199            while (matcher.find()) { 
     200                sid = matcher.group(2); 
     201                if ((sid != null) && !sid.isEmpty()) { 
     202                    id2 = sid.charAt(0); 
     203                    if (id == id2) { 
     204                        subfield = matcher.group(3); 
     205                        ret.add(new Subfield(id, subfield)); 
     206                    } 
    196207                } 
    197208            } 
    198209        } 
    199  
     210         
    200211        return ret; 
    201212    }