Changeset 17091

Show
Ignore:
Timestamp:
10/10/08 14:14:27 (3 months ago)
Author:
jakub
Message:

List tagging refactoring.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/intermine/web/main/src/org/intermine/dwr/AjaxServices.java

    r17085 r17091  
    2727import java.util.Set; 
    2828import java.util.TreeMap; 
     29import java.util.TreeSet; 
    2930 
    3031import javax.servlet.ServletContext; 
     
    12361237    } 
    12371238 
    1238     public static boolean deleteTag(String tagId) { 
     1239    public static boolean deleteTag(String tagName, String tagged, String type) { 
    12391240        try { 
    12401241            HttpServletRequest request = getRequest(); 
     
    12421243            Profile profile = getProfile(request);   
    12431244 
    1244             if (!StringUtils.isEmpty(tagId)) { 
    1245                 Tag tag = pm.getTagById(Integer.parseInt(tagId)); 
    1246                 // only let users delete their own tags 
    1247                if (tag.getUserProfile().getUsername().equals(profile.getUsername())) { 
    1248                    pm.deleteTag(tag); 
    1249                    HttpSession session = request.getSession(); 
    1250                    ServletContext servletContext = session.getServletContext(); 
    1251                    Boolean isSuperUser = (Boolean) session.getAttribute(Constants.IS_SUPERUSER); 
    1252                    if (isSuperUser != null && isSuperUser.booleanValue()) { 
    1253                        SearchRepository tr = 
    1254                            SearchRepository.getGlobalSearchRepository(servletContext); 
    1255                        tr.webSearchableUnTagged(tag); 
    1256                    } 
    1257                 } 
    1258             } 
    1259             return true; 
     1245            List<Tag> tags = pm.getTags(tagName, tagged, type, profile.getUsername()); 
     1246            if (tags.size() == 1 && tags.get(0) != null) { 
     1247                Tag tag = tags.get(0); 
     1248                pm.deleteTag(tag); 
     1249                HttpSession session = request.getSession(); 
     1250                ServletContext servletContext = session.getServletContext(); 
     1251                Boolean isSuperUser = (Boolean) session.getAttribute(Constants.IS_SUPERUSER); 
     1252                if (isSuperUser != null && isSuperUser.booleanValue()) { 
     1253                    SearchRepository tr = 
     1254                        SearchRepository.getGlobalSearchRepository(servletContext); 
     1255                    tr.webSearchableUnTagged(tag); 
     1256                } 
     1257                return true; 
     1258            } else { 
     1259               return false; 
     1260            }           
    12601261        } catch (Throwable e) { 
    12611262            LOG.error("Deleting tag failed", e); 
     
    12941295        return ret; 
    12951296    } 
     1297     
     1298    public static Set<String> getObjectTags(String type, String tagged) { 
     1299        return new TreeSet<String>(getDatabaseTags(null, tagged, type)); 
     1300    } 
    12961301 
    12971302    private static List<String> getPrefixes(String s) {