Changeset 3461
- Timestamp:
- 08/22/13 16:28:29 (11 years ago)
- Location:
- DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/Helpers.java
r3395 r3461 60 60 } 61 61 62 62 63 } -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/AnnotationDao.java
r3455 r3461 37 37 38 38 public interface AnnotationDao extends ResourceDao{ 39 39 40 40 41 ////////////// GETTERS ////////////////////////// -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/DaoDispatcher.java
r3455 r3461 33 33 */ 34 34 public interface DaoDispatcher{ 35 36 public void setServiceURI(String serviceURI); 35 37 36 38 /////////////// ADDERS ///////////////////////////////// -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/ResourceDao.java
r3455 r3461 26 26 public interface ResourceDao { 27 27 28 29 public void setServiceURI(String serviceURI); 28 30 /** 29 31 * -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/DaoDispatcherImpl.java
r3455 r3461 63 63 NotebookDao notebookDao; 64 64 65 ////////////////////////////////// 66 @Override 67 public void setServiceURI(String serviceURI){ 68 userDao.setServiceURI(serviceURI); 69 cachedRepresentationDao.setServiceURI(serviceURI); 70 versionDao.setServiceURI(serviceURI); 71 sourceDao.setServiceURI(serviceURI); 72 annotationDao.setServiceURI(serviceURI); 73 notebookDao.setServiceURI(serviceURI); 74 } 75 76 65 77 ///////////// GETTERS ////////////////////////// 66 78 -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcAnnotationDao.java
r3459 r3461 44 44 public class JdbcAnnotationDao extends JdbcResourceDao implements AnnotationDao { 45 45 46 46 47 public JdbcAnnotationDao(DataSource dataSource) { 47 48 setDataSource(dataSource); 48 49 internalIdName = annotation_id; 49 50 resourceTableName = annotationTableName; 50 } 51 52 51 52 } 53 54 55 ///////////// GETTERS ///////////// 56 53 57 @Override 54 58 public List<Number> retrieveSourceIDs(Number annotationID) { … … 57 61 return result; 58 62 } 59 private final RowMapper<Number> sourceIDRowMapper = new RowMapper<Number>() { 60 @Override 61 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 62 Number result = rs.getInt(source_id); 63 return result; 64 } 65 }; 63 66 64 67 65 //////////////////////////////////////////////////////////////////////// … … 124 122 return result; 125 123 } 124 125 ////////////////////////////////////////////////////////////////////////// 126 126 127 127 @Override … … 195 195 } 196 196 197 return respond.get(0); 197 Annotation result = respond.get(0); 198 String externalId = result.getURI(); 199 result.setURI(extrnalIDtoURI(_serviceURI, externalId)); 200 201 return result; 198 202 } 199 203 … … 211 215 annotation.setBody(Helpers.deserializeBody(rs.getString(body_xml))); 212 216 annotation.setTargetSources(null); 213 214 217 // TODO: fix: rpelace URI in the schema with external id, or make here the conversion: 215 218 // from external ID in the DB to the URI for the class -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcResourceDao.java
r3459 r3461 86 86 protected String internalIdName = null; 87 87 protected String resourceTableName = null; 88 protected String _serviceURI; 89 90 91 92 /////////////////// Class field SETTERS ///////////// 93 @Override 94 public void setServiceURI(String serviceURI){ 95 _serviceURI = serviceURI; 96 } 97 98 99 88 100 89 101 ////////////////////////////////////////////////////////////////////////////////// … … 136 148 } 137 149 }; 138 150 ////////////////// ROW MAPPERS /////////////////// 151 protected final RowMapper<Number> internalIDRowMapper = new RowMapper<Number>() { 152 @Override 153 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 154 int result = rs.getInt(internalIdName); 155 Number resultNumber = result; 156 return resultNumber; 157 } 158 }; 159 protected final RowMapper<UUID> externalIDRowMapper = new RowMapper<UUID>() { 160 @Override 161 public UUID mapRow(ResultSet rs, int rowNumber) throws SQLException { 162 return (UUID.fromString(rs.getString(external_id))); 163 } 164 }; 165 protected final RowMapper<Number> cachedIDRowMapper = new RowMapper<Number>() { 166 @Override 167 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 168 return rs.getInt(cached_representation_id); 169 } 170 }; 171 protected final RowMapper<Number> sourceIDRowMapper = new RowMapper<Number>() { 172 @Override 173 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 174 return rs.getInt(source_id); 175 } 176 }; 177 protected final RowMapper<Number> versionIDRowMapper = new RowMapper<Number>() { 178 @Override 179 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 180 return rs.getInt(version_id); 181 } 182 }; 183 protected final RowMapper<Number> annotationIDRowMapper = new RowMapper<Number>() { 184 @Override 185 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 186 return rs.getInt(annotation_id); 187 } 188 }; 189 protected final RowMapper<Number> notebookIDRowMapper = new RowMapper<Number>() { 190 @Override 191 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 192 return rs.getInt(notebook_id); 193 } 194 }; 195 protected final RowMapper<Number> principalIDRowMapper = new RowMapper<Number>() { 196 @Override 197 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 198 return rs.getInt(principal_id); 199 } 200 }; 201 202 /////////////// HELPERS /////////////// 203 204 205 protected String extrnalIDtoURI(String serviceURI, String externalID) { 206 if (_serviceURI != null) { 207 return _serviceURI + externalID; 208 } else { 209 return externalID; 210 } 211 } 212 213 //////////////////////////// 139 214 protected <T> String makeListOfValues(List<T> vals) { 140 215 … … 155 230 return result; 156 231 } 157 158 159 ////////////////// ROW MAPPERS ///////////////////160 161 162 protected final RowMapper<Number> internalIDRowMapper = new RowMapper<Number>() {163 @Override164 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {165 int result = rs.getInt(internalIdName);166 Number resultNumber = result;167 return resultNumber;168 }169 };170 protected final RowMapper<UUID> externalIDRowMapper = new RowMapper<UUID>() {171 @Override172 public UUID mapRow(ResultSet rs, int rowNumber) throws SQLException {173 return (UUID.fromString(rs.getString(external_id)));174 }175 };176 protected final RowMapper<Number> cachedIDRowMapper = new RowMapper<Number>() {177 @Override178 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {179 return rs.getInt(cached_representation_id);180 }181 };182 protected final RowMapper<Number> sourceIDRowMapper = new RowMapper<Number>() {183 @Override184 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {185 return rs.getInt(source_id);186 }187 };188 protected final RowMapper<Number> versionIDRowMapper = new RowMapper<Number>() {189 @Override190 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {191 return rs.getInt(version_id);192 }193 };194 protected final RowMapper<Number> annotationIDRowMapper = new RowMapper<Number>() {195 @Override196 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {197 return rs.getInt(annotation_id);198 }199 };200 protected final RowMapper<Number> notebookIDRowMapper = new RowMapper<Number>() {201 @Override202 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {203 return rs.getInt(notebook_id);204 }205 };206 protected final RowMapper<Number> principalIDRowMapper = new RowMapper<Number>() {207 @Override208 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {209 return rs.getInt(principal_id);210 }211 };212 232 } -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/rest/AnnotationResource.java
r3455 r3461 63 63 public JAXBElement<Annotation> getAnnotation(@PathParam("annotationid") String ExternalIdentifier) throws SQLException { 64 64 final Number annotationID = daoDispatcher.getAnnotationInternalIdentifier(UUID.fromString(ExternalIdentifier)); 65 daoDispatcher.setServiceURI(httpServletRequest.getServletPath()); 65 66 final Annotation annotation = daoDispatcher.getAnnotation(annotationID); 66 67 return new ObjectFactory().createAnnotation(annotation); … … 85 86 @Path("") 86 87 public JAXBElement<Annotation> createAnnotation(Annotation annotation) throws SQLException { 88 87 89 String remoteUser = httpServletRequest.getRemoteUser(); 88 90 UUID userExternalID = (remoteUser != null) ? UUID.fromString(remoteUser) : null; 89 91 Number userID = daoDispatcher.getUserInternalIdentifier(userExternalID); 92 93 daoDispatcher.setServiceURI(httpServletRequest.getServletPath()); 94 90 95 Number newAnnotationID = daoDispatcher.addUsersAnnotation(annotation, userID); 91 96 Annotation newAnnotation = daoDispatcher.getAnnotation(newAnnotationID); -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/test/java/eu/dasish/annotation/backend/TestBackendConstants.java
r3455 r3461 99 99 public static final String _TEST_ANNOT_TO_ADD_NEW_SOURCE_HEADLINE = "SF in Catalan"; 100 100 public static final String _TEST_NEW_SOURCE_LINK = "http://www.sagradafamilia.cat/docs_instit/historia.php "; 101 102 public static final String _TEST_SERVLET_URI = "/dasish/"; 101 103 } 102 104 -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/test/java/eu/dasish/annotation/backend/dao/impl/JdbcAnnotationDaoTest.java
r3455 r3461 190 190 191 191 final Number testAnnotationID = 2; 192 jdbcAnnotationDao.setServiceURI(TestBackendConstants._TEST_SERVLET_URI); 192 193 final Annotation annotation = jdbcAnnotationDao.getAnnotationWithoutSources(testAnnotationID); 193 194 assertEquals(TestBackendConstants._TEST_ANNOT_2_HEADLINE, annotation.getHeadline()); 194 195 assertEquals(String.valueOf(TestBackendConstants._TEST_ANNOT_2_OWNER), annotation.getOwner().getRef()); 195 196 assertEquals(TestBackendConstants._TEST_ANNOT_2_BODY, annotation.getBody().getAny().get(0)); // when the body is elaborated it may be changed 196 assertEquals(TestBackendConstants._TEST_ ANNOT_2_EXT, annotation.getURI());197 assertEquals(TestBackendConstants._TEST_SERVLET_URI+TestBackendConstants._TEST_ANNOT_2_EXT, annotation.getURI()); 197 198 assertEquals(TestBackendConstants._TEST_ANNOT_2_TIME_STAMP, annotation.getTimeStamp().toString()); 198 199 } -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/test/java/eu/dasish/annotation/backend/rest/AnnotationResourceTest.java
r3455 r3461 75 75 mockery.checking(new Expectations() { 76 76 { 77 oneOf(daoDispatcher).setServiceURI(with(any(String.class))); 78 will(doAll()); 79 77 80 oneOf(daoDispatcher).getAnnotationInternalIdentifier(with(any(UUID.class))); 78 81 will(returnValue(annotationID)); … … 82 85 } 83 86 }); 87 88 final MockHttpServletRequest httpServletRequest = new MockHttpServletRequest(); 89 httpServletRequest.setServletPath(TestBackendConstants._TEST_SERVLET_URI); 90 annotationResource.setHttpRequest(httpServletRequest); 84 91 85 92 JAXBElement<Annotation> result = annotationResource.getAnnotation(externalIDstring); … … 141 148 mockery.checking(new Expectations() { 142 149 { 150 oneOf(daoDispatcher).setServiceURI(with(any(String.class))); 151 will(doAll()); 152 143 153 oneOf(daoDispatcher).getUserInternalIdentifier(with(aNonNull(UUID.class))); 144 154 will(returnValue(ownerID)); … … 155 165 156 166 final MockHttpServletRequest httpServletRequest = new MockHttpServletRequest(); 157 httpServletRequest.setRemoteUser(TestBackendConstants._TEST_USER_5_EXT_ID); 167 httpServletRequest.setRemoteUser(TestBackendConstants._TEST_USER_5_EXT_ID); 168 httpServletRequest.setServletPath(TestBackendConstants._TEST_SERVLET_URI); 158 169 annotationResource.setHttpRequest(httpServletRequest); 159 170 -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/test/java/eu/dasish/annotation/backend/rest/AnnotationsTest.java
r3455 r3461 68 68 mockery.checking(new Expectations() { 69 69 { 70 oneOf(daoDispatcher).setServiceURI(with(any(String.class))); 71 will(doAll()); 72 70 73 oneOf(daoDispatcher).getAnnotationInternalIdentifier(with(aNonNull(UUID.class))); 71 74 will(returnValue(annotationID)); … … 148 151 mockery.checking(new Expectations() { 149 152 { 153 oneOf(daoDispatcher).setServiceURI(with(any(String.class))); 154 will(doAll()); 155 150 156 oneOf(daoDispatcher).getUserInternalIdentifier(with(any(UUID.class))); 151 157 will(returnValue(ownerID)); -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/test/resources/spring-test-config/mockery.xml
r3099 r3461 28 28 29 29 30 <!-- Context for testing the nortebooks service with mock implementations --> 31 30 32 31 <!-- This enables injection of the translator bean into the service object --> 33 32 <context:component-scan base-package="eu.dasish.annotation.backend.rest" />
Note: See TracChangeset
for help on using the changeset viewer.