Changeset 1467 for raptor-client


Ignore:
Timestamp:
08/27/12 15:57:42 (8 years ago)
Author:
philsmart
Message:

fix category resolution adding null resource ids

File:
1 edited

Legend:

Unmodified
Added
Removed
  • raptor-client/trunk/src/main/java/uk/ac/cardiff/raptor/event/expansion/ResourceCategoryAttributeAssociationDefinition.java

    r1202 r1467  
    3333 * @author philsmart 
    3434 */ 
    35 public class ResourceCategoryAttributeAssociationDefinition extends BaseAttributeAssociationDefinition { 
     35public class ResourceCategoryAttributeAssociationDefinition extends 
     36        BaseAttributeAssociationDefinition { 
    3637 
    3738    /** Class logger. */ 
    38     private final Logger log = LoggerFactory.getLogger(ResourceCategoryAttributeAssociationDefinition.class); 
     39    private final Logger log = LoggerFactory 
     40            .getLogger(ResourceCategoryAttributeAssociationDefinition.class); 
    3941 
    4042    /** The data connector used to acquire the attributes. */ 
     
    4446     * @see uk.ac.cardiff.raptor.event.expansion.BaseAttributeAssociationDefinition#initialise() 
    4547     */ 
     48    @Override 
    4649    public void initialise() { 
    4750    } 
     
    5457        if (event.getResourceId() != null) { 
    5558            result = 
    56                     dataConnection.runQueryUnique("from ResourceMetadata where resourceId=?", 
     59                    dataConnection.runQueryUnique( 
     60                            "from ResourceMetadata where resourceId=?", 
    5761                            new Object[] {event.getResourceId()}); 
    5862        } 
     
    6670            return true; 
    6771        } else { 
    68             ResourceMetadata resourceNew = new ResourceMetadata(); 
    69             resourceNew.setExternal(true); 
    70             resourceNew.setInternal(false); 
    71             resourceNew.setResourceId(event.getResourceId()); 
    72             event.setResourceIdCategory(2); 
    73             try { 
    74                 dataConnection.save(resourceNew); 
    75             } catch (DataAccessException e) { 
    76                 log.error("Could not save new resource metadata {}", e.getMessage()); 
     72            // only set new resource information if has resource id. 
     73            if (event.getResourceId() != null) { 
     74                ResourceMetadata resourceNew = new ResourceMetadata(); 
     75                resourceNew.setExternal(true); 
     76                resourceNew.setInternal(false); 
     77                resourceNew.setResourceId(event.getResourceId()); 
     78                // set event to default resource category, then save this resourceId. 
     79                event.setResourceIdCategory(2); 
     80                try { 
     81                    dataConnection.save(resourceNew); 
     82                } catch (DataAccessException e) { 
     83                    log.error("Could not save new resource metadata {}", e.getMessage()); 
     84                    return false; 
     85                } 
     86                return true; 
     87            } else { 
    7788                return false; 
    7889            } 
    79             return true; 
    8090        } 
    8191 
     
    8797     * @param classToAdd the classToAdd to set 
    8898     */ 
     99    @Override 
    89100    public void setClassToAdd(Class<?> classToAdd) { 
    90101        this.classToAdd = classToAdd; 
     
    96107     * @return the classToAdd 
    97108     */ 
     109    @Override 
    98110    public Class<?> getClassToAdd() { 
    99111        return classToAdd; 
     
    105117     * @param associateWithClass the associateWithClass to set 
    106118     */ 
     119    @Override 
    107120    public void setAssociateWithClass(String associateWithClass) { 
    108121        this.associateWithClass = associateWithClass; 
     
    114127     * @return the associateWithClass 
    115128     */ 
     129    @Override 
    116130    public String getAssociateWithClass() { 
    117131        return associateWithClass; 
Note: See TracChangeset for help on using the changeset viewer.