From 56d9512f8a2a203c109610057cd71103bd12c049 Mon Sep 17 00:00:00 2001 From: Fotis Paraskevopoulos Date: Sun, 22 Apr 2012 23:00:01 +0300 Subject: [PATCH] Corrected CI calculation, and changed several event names --- deploy.sh | 37 ++ .../internal/UpdateCiServiceImpl.java | 9 +- .../src/main/resources/spring-activemq.xml | 20 +- .../CommitNewAnnotatedListenerTest.java | 2 +- .../IssueNewAnnotatedListenerTest.java | 2 +- .../IssueUpdateAnnotatedListenerTest.java | 6 +- .../internal/MailNewMailListenerTest.java | 2 +- .../analyzers/its/bus/ItsEventHandler.java | 4 +- .../.gitignore | 1 + .../pom.xml | 2 - .../identifier/api/IdentityMergeService.java | 156 --------- .../src/conf/.gitignore | 1 + .../services/InputStreamIssuesVisitor.java | 2 +- .../services/InputStreamMailVisitor.java | 2 +- .../eu.alert-project.iccs.stardom.ui/pom.xml | 6 + .../ui/controller/ProfileController.java | 2 +- .../ui/controller/SearchController.java | 9 +- .../service/DefaultIdentityMergeService.java | 320 ++++++++++++++++++ .../iccs/stardom/ui/service/MergeService.java | 13 + .../stardom/ui/service/SearchService.java | 46 ++- .../src/main/java/rebel.xml | 16 - .../src/main/resources/log4j.properties | 1 + .../src/main/resources/system.properties | 3 +- .../main/webapp/WEB-INF/freemarker/search.ftl | 106 +++--- .../src/main/webapp/WEB-INF/ui-servlet.xml | 18 +- .../ui/service}/IdentityMergeServiceTest.java | 5 +- eu.alert-project.iccs.stardom.core/pom.xml | 14 + 27 files changed, 542 insertions(+), 263 deletions(-) create mode 100755 deploy.sh create mode 100644 eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.datastore/.gitignore delete mode 100644 eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/src/main/java/eu/alertproject/iccs/stardom/identifier/api/IdentityMergeService.java create mode 100644 eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/conf/.gitignore create mode 100644 eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/DefaultIdentityMergeService.java create mode 100644 eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/MergeService.java delete mode 100644 eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/rebel.xml rename eu.alert-project.iccs.stardom.core/{eu.alert-project.iccs.stardom.identifier/src/test/java/eu/alertproject/iccs/stardom/identifier => eu.alert-project.iccs.stardom.ui/src/test/java/eu/alertproject/iccs/stardom/ui/service}/IdentityMergeServiceTest.java (99%) diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..3c38356 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,37 @@ +#/bin/bash + +DEV_DIR="/Users/fotis/Development/idea/" +EVENTS_DIR="$DEV_DIR/eu.alert-project.iccs.events/eu.alert-project.iccs.events.core" +REC_DIR="$DEV_DIR/Recommender/eu.alert-project.iccs.recommender.core" +STARDOM_DIR="$DEV_DIR/STARDOM/eu.alert-project.iccs.stardom.core" + +LAUS_PORT="22" +LAUS_KEY="/Users/fotis/.ssh/id_rsa_2048" +LAUS_HOST="laus.perimeter.fzi.de" +LAUS_USER="alerticcs" + +pwd + +cd $EVENTS_DIR; pwd; mvn clean compile package install || exit 1 +cd $REC_DIR; pwd; mvn clean compile package install -Denv=prod -Ddb.port=8889 -Dmaven.test.skip=true || exit 1 +cd $STARDOM_DIR; pwd; mvn clean compile package install -Denv=prod -Ddb.port=8889 -DfilterDate=1970-01-01 -Dmaven.test.skip=true || exit 1 + + +#upload +echo "Uploading...." + +ssh -p$LAUS_PORT -i "$LAUS_KEY" $LAUS_USER@$LAUS_HOST "mkdir -p ICCS/dist/$(date +"%Y-%m-%d")/wars" +scp -P$LAUS_PORT -i "$LAUS_KEY" $STARDOM_DIR/eu.alert-project.iccs.stardom.alert-connector/target/alert-connector-0.0.2-SNAPSHOT.war $LAUS_USER@$LAUS_HOST:"ICCS/dist/$(date +"%Y-%m-%d")/wars" || exit 1; +scp -P$LAUS_PORT -i "$LAUS_KEY" $STARDOM_DIR/eu.alert-project.iccs.stardom.ui/target/ui.war $LAUS_USER@$LAUS_HOST:"ICCS/dist/$(date +"%Y-%m-%d")/wars" || exit 1; +scp -P$LAUS_PORT -i "$LAUS_KEY" $REC_DIR/eu.alert-project.iccs.recommender.connector/target/connector-0.0.1-SNAPSHOT.war $LAUS_USER@$LAUS_HOST:"ICCS/dist/$(date +"%Y-%m-%d")/wars" || exit 1; +scp -P$LAUS_PORT -i "$LAUS_KEY" $REC_DIR/eu.alert-project.iccs.recommender.ui/target/ui-0.0.1-SNAPSHOT.war $LAUS_USER@$LAUS_HOST:"ICCS/dist/$(date +"%Y-%m-%d")/wars" || exit 1; + +ssh -p$LAUS_PORT -i "$LAUS_KEY" $LAUS_USER@$LAUS_HOST "./reset-db.sh" +ssh -p$LAUS_PORT -i "$LAUS_KEY" $LAUS_USER@$LAUS_HOST "ls ICCS/dist/$(date +"%Y-%m-%d")" +ssh -p$LAUS_PORT -i "$LAUS_KEY" $LAUS_USER@$LAUS_HOST "./deploy.sh ICCS/dist/$(date +"%Y-%m-%d")" + + + + + + diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/java/eu/alertproject/iccs/stardom/activemqconnector/internal/UpdateCiServiceImpl.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/java/eu/alertproject/iccs/stardom/activemqconnector/internal/UpdateCiServiceImpl.java index 0e3d8ea..d9d1d94 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/java/eu/alertproject/iccs/stardom/activemqconnector/internal/UpdateCiServiceImpl.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/java/eu/alertproject/iccs/stardom/activemqconnector/internal/UpdateCiServiceImpl.java @@ -92,13 +92,20 @@ public void updateIndentityCI(AnnotatedUpdateEvent event) { try { if(metrics.containsKey(cim.getName())){ + + Integer value = metrics.get(cim.getName()).getValue(metricDao, (Identity) event.getPayload()); if(cim.getStandardDeviation() > 0.0){ NormalDistribution d = new NormalDistributionImpl(cim.getMean(),cim.getStandardDeviation()); - prob *= d.density(Double.valueOf(value)); + if(value >= cim.getMean()){ + prob *= d.density(cim.getMean()); + }else{ + prob *= d.density(Double.valueOf(value)); + } }else{ prob *=1; } + } } catch (RuntimeException e) { logger.warn("The metric standard deviation is incorrect",e); diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/resources/spring-activemq.xml b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/resources/spring-activemq.xml index 39028be..7db8e26 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/resources/spring-activemq.xml +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/main/resources/spring-activemq.xml @@ -41,13 +41,13 @@ - + - + @@ -56,13 +56,13 @@ - + - + @@ -71,13 +71,13 @@ - + - + @@ -86,13 +86,13 @@ - + - + @@ -101,13 +101,13 @@ - + - + diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/CommitNewAnnotatedListenerTest.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/CommitNewAnnotatedListenerTest.java index 77b3b1a..8f37b83 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/CommitNewAnnotatedListenerTest.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/CommitNewAnnotatedListenerTest.java @@ -79,7 +79,7 @@ public void testEvent() throws IOException { public void testSendEvent() throws IOException { jmsTemplate.send( - Topics.ALERT_KEUI_CommitNew_Annotated, + Topics.ALERT_METADATA_CommitNew_Updated, new TextMessageCreator( IOUtils.toString(this.getClass().getResourceAsStream("/connector/ALERT.KEUI.CommitNew.Annotated.xml")) ) diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueNewAnnotatedListenerTest.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueNewAnnotatedListenerTest.java index 1bfbdf7..b9101cf 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueNewAnnotatedListenerTest.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueNewAnnotatedListenerTest.java @@ -79,7 +79,7 @@ public void testEvent() throws IOException { public void testSendEvent() throws IOException { jmsTemplate.send( - Topics.ALERT_KEUI_IssueNew_Annotated, + Topics.ALERT_METADATA_IssueNew_Updated, new TextMessageCreator( IOUtils.toString(this.getClass().getResourceAsStream("/connector/ALERT.KEUI.IssueNew.Annotated.xml")) ) diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueUpdateAnnotatedListenerTest.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueUpdateAnnotatedListenerTest.java index f5eda70..90669cf 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueUpdateAnnotatedListenerTest.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/IssueUpdateAnnotatedListenerTest.java @@ -75,7 +75,7 @@ public void testEvent() throws IOException { public void testSendEvent() throws IOException { jmsTemplate.send( - Topics.ALERT_KEUI_IssueUpdate_Annotated, + Topics.ALERT_METADATA_IssueUpdate_Updated, new TextMessageCreator( IOUtils.toString(this.getClass().getResourceAsStream("/connector/ALERT.KEUI.IssueUpdate.Annotated.xml")) ) @@ -96,7 +96,7 @@ private void assertAction(){ List all = profileDao.findAll(); Assert.assertNotNull(all); - Assert.assertEquals(6, all.size(), 0); + Assert.assertEquals(5, all.size(), 0); Iterator profileIterator = all.iterator(); @@ -111,7 +111,7 @@ private void assertAction(){ List all1 = identityDao.findAll(); - Assert.assertEquals(5,all1.size(),0); + Assert.assertEquals(4,all1.size(),0); Identity identity = all1.get(1);//drf; List idenity1Metric = metricDao.getForIdentity(identity, ItsTemporalMetric.class); diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/MailNewMailListenerTest.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/MailNewMailListenerTest.java index d24e740..57ab922 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/MailNewMailListenerTest.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.alert-connector/src/test/java/eu/alertproject/iccs/stardom/internal/MailNewMailListenerTest.java @@ -77,7 +77,7 @@ public void testEvent() throws IOException { public void testSendEvent() throws IOException { jmsTemplate.send( - Topics.ALERT_KEUI_MailNew_Annotated, + Topics.ALERT_METADATA_MailNew_Updated, new TextMessageCreator( IOUtils.toString(this.getClass().getResourceAsStream("/connector/ALERT.KEUI.MailNew.Annotated.xml")) ) diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.analyzers/eu.alert-project.iccs.startdom.analyzers.its/src/main/java/eu/alertproject/iccs/stardom/analyzers/its/bus/ItsEventHandler.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.analyzers/eu.alert-project.iccs.startdom.analyzers.its/src/main/java/eu/alertproject/iccs/stardom/analyzers/its/bus/ItsEventHandler.java index e3b5639..ee2fa26 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.analyzers/eu.alert-project.iccs.startdom.analyzers.its/src/main/java/eu/alertproject/iccs/stardom/analyzers/its/bus/ItsEventHandler.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.analyzers/eu.alert-project.iccs.startdom.analyzers.its/src/main/java/eu/alertproject/iccs/stardom/analyzers/its/bus/ItsEventHandler.java @@ -80,6 +80,9 @@ public void event(ItsEvent event){ handleDirtyProfile(action.getAssigned(),action); handleDirtyProfile(action.getReporter(), action); + Bus.publish(STARDOMTopics.IssueUpdated,new AnnotatedUpdateEvent(this,action.getBugId(),action.getConcepts())); + + } @@ -153,7 +156,6 @@ private void handleDirtyProfile(Profile dirty, DefaultItsAction action ){ } finally { Bus.publish(STARDOMTopics.IdentityUpdated,new AnnotatedUpdateEvent(this,identity,action.getConcepts())); - Bus.publish(STARDOMTopics.IssueUpdated,new AnnotatedUpdateEvent(this,action.getBugId(),action.getConcepts())); } } diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.datastore/.gitignore b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.datastore/.gitignore new file mode 100644 index 0000000..48e029b --- /dev/null +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.datastore/.gitignore @@ -0,0 +1 @@ +*.sql \ No newline at end of file diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/pom.xml b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/pom.xml index f14b11a..3ecc69c 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/pom.xml +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/pom.xml @@ -50,7 +50,6 @@ orm - ${project.groupId} ${project.version} @@ -70,7 +69,6 @@ datastore - \ No newline at end of file diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/src/main/java/eu/alertproject/iccs/stardom/identifier/api/IdentityMergeService.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/src/main/java/eu/alertproject/iccs/stardom/identifier/api/IdentityMergeService.java deleted file mode 100644 index 1c474d5..0000000 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/src/main/java/eu/alertproject/iccs/stardom/identifier/api/IdentityMergeService.java +++ /dev/null @@ -1,156 +0,0 @@ -package eu.alertproject.iccs.stardom.identifier.api; - -import eu.alertproject.iccs.stardom.datastore.api.dao.IdentityDao; -import eu.alertproject.iccs.stardom.domain.api.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * User: fotis - * Date: 22/01/12 - * Time: 13:41 - */ -@Service("mergeService") -public class IdentityMergeService { - - - @Autowired - IdentityDao identityDao; - - /** - * This function merges one or more identities into a single one - * - * The result will be an entirely new identity made up of all - * of them - * - * @param ids - */ - @Transactional - public void merge(Integer... ids){ - - - Identity first = null; - - List deleteIds = new ArrayList(); - for(Integer id : ids){ - - // here we are working against the first identity - if(first == null ){ - first = identityDao.findById(id); - continue; - } - - - - Identity byId = identityDao.findById(id); - - - //join the profilse - Iterator iterator = byId.getProfiles().iterator(); - - while(iterator.hasNext()){ - - Profile p = iterator.next(); - first.getProfiles().add(p); - iterator.remove(); - } - - - Iterator metricIterator = byId.getMetrics().iterator(); - - while(metricIterator.hasNext()){ - Metric m = metricIterator.next(); - - if(m instanceof MetricQuantitative){ - - boolean metricFound = false; - for(Metric om : first.getMetrics()){ - - if(m.getClass().equals(om.getClass())){ - - ((MetricQuantitative)om).setQuantity(((MetricQuantitative) om).getQuantity()+((MetricQuantitative) m).getQuantity()); - - /* - Make sure that the date is updated on the quatity - */ - Date omCreatedAt = om.getCreatedAt(); - Date createdAt = m.getCreatedAt(); - - if(createdAt.after(omCreatedAt)){ - om.setCreatedAt(createdAt); - } - metricFound = true; - } - } - - /* - Because we are looking only at the first instance metrics, we need to add - the metrics that are not immediately available from the second identity - */ - if(!metricFound){ - - m.setIdentity(first); - first.getMetrics().add(m); - - metricIterator.remove(); - - } - - }else if(m instanceof MetricTemporal){ - - boolean metricFound = false; - - for(Metric om : first.getMetrics()){ - - if(m.getClass().equals(om.getClass())){ - - Date omTemporal = ((MetricTemporal) om).getTemporal(); - Date mTemporal = ((MetricTemporal) m).getTemporal(); - - - if(mTemporal.after(omTemporal)){ - ((MetricTemporal) om).setTemporal(mTemporal); - } - - Date omCreatedAt = om.getCreatedAt(); - Date createdAt = m.getCreatedAt(); - if(createdAt.after(omCreatedAt)){ - om.setCreatedAt(createdAt); - } - - metricFound=true; - } - - } - - if(!metricFound){ - - m.setIdentity(first); - first.getMetrics().add(m); - metricIterator.remove(); - } - } - } - - /* - This should remove profiles and metrics!!!! - */ -// deleteIds.add(id); - identityDao.update(first); - identityDao.delete(id); - } - - - //delete the rest - -// for(Integer id : deleteIds){ -// identityDao.delete(id); -// } -// -// - - } -} diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/conf/.gitignore b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/conf/.gitignore new file mode 100644 index 0000000..c4c4ffc --- /dev/null +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/conf/.gitignore @@ -0,0 +1 @@ +*.zip diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamIssuesVisitor.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamIssuesVisitor.java index 424587b..bcc233e 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamIssuesVisitor.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamIssuesVisitor.java @@ -48,7 +48,7 @@ public void handle(InputStream inputStream) throws IOException { template.send( - Topics.ALERT_KEUI_IssueUpdate_Annotated, + Topics.ALERT_METADATA_IssueUpdate_Updated, new TextMessageCreator(s)); diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamMailVisitor.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamMailVisitor.java index edc3f55..1c6b614 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamMailVisitor.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.simulator/src/main/java/eu/alertproject/iccs/stardom/simulator/services/InputStreamMailVisitor.java @@ -46,7 +46,7 @@ public void handle(InputStream inputStream) throws IOException { template.send( - Topics.ALERT_KEUI_MailNew_Annotated, + Topics.ALERT_METADATA_MailNew_Updated, new TextMessageCreator(s)); logger.trace("void handle() sent {} ",counter++); diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/pom.xml b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/pom.xml index 90f0532..8c30daa 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/pom.xml +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/pom.xml @@ -146,6 +146,12 @@ core + + ${project.version} + ${project.groupId} + testdata + test + \ No newline at end of file diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/ProfileController.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/ProfileController.java index deb5e45..d6ea772 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/ProfileController.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/ProfileController.java @@ -91,7 +91,7 @@ public String create( p.setEmail(identity.getEmail()); p.setLastname(identity.getEmail()); p.setName(identity.getName()); - p.setLastname(identity.getLastname()); + p.setUsername(identity.getUsername()); Identity smIdentity = identifier.find( p , "form"); diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/SearchController.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/SearchController.java index 6f0b47b..eb06e4b 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/SearchController.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/controller/SearchController.java @@ -1,10 +1,9 @@ package eu.alertproject.iccs.stardom.ui.controller; -import eu.alertproject.iccs.stardom.datastore.api.dao.IdentityDao; -import eu.alertproject.iccs.stardom.domain.api.Identity; import eu.alertproject.iccs.stardom.domain.api.Metric; -import eu.alertproject.iccs.stardom.identifier.api.IdentityMergeService; +import eu.alertproject.iccs.stardom.ui.service.DefaultIdentityMergeService; import eu.alertproject.iccs.stardom.ui.beans.SearchResult; +import eu.alertproject.iccs.stardom.ui.service.MergeService; import eu.alertproject.iccs.stardom.ui.service.SearchService; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -35,7 +34,7 @@ public class SearchController { SearchService searchService; @Autowired - IdentityMergeService identityMergeService; + MergeService mergeService; @RequestMapping(method = RequestMethod.GET) @@ -101,7 +100,7 @@ public ModelAndView index(){ logger.trace("ModelMap merge(ids) {} ",ids); - identityMergeService.merge(ids); + mergeService.merge(ids); //get the first one Integer id = ids[0]; diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/DefaultIdentityMergeService.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/DefaultIdentityMergeService.java new file mode 100644 index 0000000..a8214dc --- /dev/null +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/DefaultIdentityMergeService.java @@ -0,0 +1,320 @@ +package eu.alertproject.iccs.stardom.ui.service; + +import eu.alertproject.iccs.events.activemq.TextMessageCreator; +import eu.alertproject.iccs.events.api.EventFactory; +import eu.alertproject.iccs.events.api.Topics; +import eu.alertproject.iccs.events.stardom.IdentityPersons; +import eu.alertproject.iccs.events.stardom.StardomIdentityUpdatePayload; +import eu.alertproject.iccs.stardom.datastore.api.dao.IdentityDao; +import eu.alertproject.iccs.stardom.domain.api.*; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jms.core.JmsTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.TextMessage; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + +/** + * User: fotis + * Date: 22/01/12 + * Time: 13:41 + */ +@Service("mergeService") +public class DefaultIdentityMergeService implements MergeService,MessageListener { + + + private Logger logger = LoggerFactory.getLogger(DefaultIdentityMergeService.class); + + + @Autowired + IdentityDao identityDao; + + + @Autowired + JmsTemplate jmsTemplate; + + private Integer id=0; + + private AtomicReference responseEvent; + + /** + * This function merges one or more identities into a single one + * + * The result will be an entirely new identity made up of all + * of them + * + * @param ids + */ + @Override + @Transactional + public void merge(Integer... ids){ + + + long start = System.currentTimeMillis(); + + IdentityPersons add = new IdentityPersons(); + IdentityPersons.Persons is = new IdentityPersons.Persons(); + List addPersonsArray = new ArrayList(); + eu.alertproject.iccs.events.stardom.StardomIdentityUpdatePayload.EventData.Identity firstIdentity = + new eu.alertproject.iccs.events.stardom.StardomIdentityUpdatePayload.EventData.Identity(); + + List updateIdentites = + new ArrayList(); + + + Identity first = null; + + for(Integer id : ids){ + + // here we are working against the first identity + if(first == null ){ + first = identityDao.findById(id); + continue; + } + + firstIdentity.setUuid(first.getUuid()); + + + Identity nextIdentity = identityDao.findById(id); + eu.alertproject.iccs.events.stardom.StardomIdentityUpdatePayload.EventData.Identity nextEventIdentity = + new eu.alertproject.iccs.events.stardom.StardomIdentityUpdatePayload.EventData.Identity(); + nextEventIdentity.setUuid(nextIdentity.getUuid()); + + IdentityPersons nextIdentityRemove = new IdentityPersons(); + + //join the profilse + Iterator iterator = nextIdentity.getProfiles().iterator(); + + IdentityPersons.Persons isnt = new IdentityPersons.Persons(); + + + List removePersonsArray = new ArrayList(); + while(iterator.hasNext()){ + + Profile p = iterator.next(); + first.getProfiles().add(p); + IdentityPersons.Persons.Person removePerson = new IdentityPersons.Persons.Person(); + IdentityPersons.Persons.Person addPerson = new IdentityPersons.Persons.Person(); + + if(StringUtils.isEmpty(p.getUri())){ + //create normal person + addPerson.setFirstname(p.getName()); + addPerson.setLastname(p.getLastname()); + addPerson.setEmail(p.getEmail()); + addPerson.setUsername(p.getUsername()); + + removePerson.setFirstname(p.getName()); + removePerson.setLastname(p.getLastname()); + removePerson.setEmail(p.getEmail()); + removePerson.setUsername(p.getUsername()); + }else { + removePerson.setUri(p.getUri()); + addPerson.setUri(p.getUri()); + } + + addPersonsArray.add(addPerson); + removePersonsArray.add(removePerson); + iterator.remove(); + } + + isnt.setPersons(removePersonsArray); + nextIdentityRemove.setIsnt(isnt); + nextEventIdentity.setRemove(nextIdentityRemove); + updateIdentites.add(nextEventIdentity); + + Iterator nextIdentityMetrics = nextIdentity.getMetrics().iterator(); + while(nextIdentityMetrics.hasNext()){ + Metric nextIdentityMetric = nextIdentityMetrics.next(); + + if(nextIdentityMetric instanceof MetricQuantitative){ + + boolean metricFound = false; + for(Metric om : first.getMetrics()){ + + if(nextIdentityMetric.getClass().equals(om.getClass())){ + + ((MetricQuantitative)om).setQuantity(((MetricQuantitative) om).getQuantity()+((MetricQuantitative) nextIdentityMetric).getQuantity()); + + /* + Make sure that the date is updated on the quatity + */ + Date omCreatedAt = om.getCreatedAt(); + Date createdAt = nextIdentityMetric.getCreatedAt(); + + if(createdAt.after(omCreatedAt)){ + om.setCreatedAt(createdAt); + } + metricFound = true; + } + } + + /* + Because we are looking only at the first instance metrics, we need to add + the metrics that are not immediately available from the second identity + */ + if(!metricFound){ + + nextIdentityMetric.setIdentity(first); + first.getMetrics().add(nextIdentityMetric); + + nextIdentityMetrics.remove(); + + } + + }else if(nextIdentityMetric instanceof MetricTemporal){ + +// boolean metricFound = false; + + nextIdentityMetric.setIdentity(first); + first.getMetrics().add(nextIdentityMetric); + nextIdentityMetrics.remove(); + // +// for(Metric om : first.getMetrics()){ +// +// if(nextIdentityMetric.getClass().equals(om.getClass())){ +// + +// We changed this for the review, this should be re-enabled +// +// Date omTemporal = ((MetricTemporal) om).getTemporal(); +// +// +// Date mTemporal = ((MetricTemporal) m).getTemporal(); +// +// +// if(mTemporal.after(omTemporal)){ +// ((MetricTemporal) om).setTemporal(mTemporal); +// } +// +// Date omCreatedAt = om.getCreatedAt(); +// Date createdAt = m.getCreatedAt(); +// if(createdAt.after(omCreatedAt)){ +// om.setCreatedAt(createdAt); +// } +// +// metricFound=true; +// } +// +// } +// +// if(!metricFound){ +// m.setIdentity(first); +// first.getMetrics().add(m); +// metricIterator.remove(); +// } + } + } + + /* + This should remove profiles and metrics!!!! + */ +// deleteIds.add(id); + identityDao.update(first); + identityDao.delete(id); + } + + + + is.setPersons(addPersonsArray); + add.setIs(is); + firstIdentity.setAdd(add); + + Collections.addAll(updateIdentites,firstIdentity); + + String event = EventFactory.createStardomIdentityUpdate( + id++, + start, + System.currentTimeMillis(), + id, + updateIdentites.toArray( + new StardomIdentityUpdatePayload.EventData.Identity[updateIdentites.size()] + + )); + + //delete the rest + +// for(Integer id : deleteIds){ +// identityDao.delete(id); +// } +// + + final CountDownLatch countDownLatch = new CountDownLatch(2); + responseEvent = new AtomicReference(); +// + + //wait for the reply + logger.trace("void merge(ids) Sending {} ",event); + + jmsTemplate.send( + Topics.ALERT_STARDOM_Identity_Updated, + new TextMessageCreator(event) + ); + + countDownLatch.countDown(); + + Thread t = new Thread(){ + @Override + public void run() { + + + int i= 0; + try { + //wait for the event + while(i < 60 && StringUtils.isEmpty(responseEvent.get())){ + i++; + logger.trace("void run() {} ",i); + Thread.sleep(1000); + } + + if(responseEvent.get() !=null && responseEvent.get().equals("error")){ + //error + responseEvent.set(null); + } + + + } catch (InterruptedException e) { + responseEvent.set(null); + logger.error("We timedout here!!! ",e); + }finally { + countDownLatch.countDown(); + } + } + }; + + t.start(); + + try { + countDownLatch.await(60L, TimeUnit.SECONDS); + + } catch (InterruptedException e) { + logger.error("Count down latch interrupted ",e); + } + + } + + @Override + public void onMessage(Message message) { + + String text="error"; + + try{ + text=((TextMessage) message).getText(); + logger.trace("void onMessage() Success \n\n{}\n\n ",text); + } catch (JMSException e) { + logger.error("Error reading issue updated response {}", e, text); + } + + responseEvent.set(text); + + } +} diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/MergeService.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/MergeService.java new file mode 100644 index 0000000..a3ef198 --- /dev/null +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/MergeService.java @@ -0,0 +1,13 @@ +package eu.alertproject.iccs.stardom.ui.service; + +import org.springframework.transaction.annotation.Transactional; + +/** + * User: fotis + * Date: 22/04/12 + * Time: 17:52 + */ +public interface MergeService { + @Transactional + void merge(Integer... ids); +} diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/SearchService.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/SearchService.java index 553faef..955f831 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/SearchService.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/eu/alertproject/iccs/stardom/ui/service/SearchService.java @@ -3,6 +3,10 @@ import eu.alertproject.iccs.stardom.datastore.api.dao.IdentityDao; import eu.alertproject.iccs.stardom.datastore.api.dao.MetricDao; import eu.alertproject.iccs.stardom.datastore.api.dao.ProfileDao; +import eu.alertproject.iccs.stardom.datastore.api.metrics.MetricValueStrategy; +import eu.alertproject.iccs.stardom.datastore.api.metrics.MostRecentMetricValueStrategy; +import eu.alertproject.iccs.stardom.datastore.api.metrics.NumberMetricValueStrategy; +import eu.alertproject.iccs.stardom.datastore.api.metrics.TemporalMetricValueStrategy; import eu.alertproject.iccs.stardom.domain.api.Identity; import eu.alertproject.iccs.stardom.domain.api.Metric; import eu.alertproject.iccs.stardom.domain.api.MetricQuantitative; @@ -14,6 +18,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.PostConstruct; import java.util.*; /** @@ -32,7 +37,26 @@ public class SearchService { @Autowired MetricDao metricDao; - + private HashMap> metrics; + + + @PostConstruct + public void init(){ + //get the metrics for each + metrics = new HashMap>(); + + metrics.put("ScmActivityMetric", new NumberMetricValueStrategy(ScmTemporalMetric.class)); + metrics.put("ScmApiIntroducedMetric", new NumberMetricValueStrategy(ScmApiIntroducedMetric.class)); + metrics.put("ScmTemporalMetric", new TemporalMetricValueStrategy(ScmTemporalMetric.class)); + + metrics.put("ItsActivityMetric", new NumberMetricValueStrategy(ItsTemporalMetric.class)); + metrics.put("ItsIssuesResolvedMetric", new MostRecentMetricValueStrategy(ItsIssuesResolvedMetric.class)); + metrics.put("ItsTemporalMetric", new TemporalMetricValueStrategy(ItsTemporalMetric.class)); + + metrics.put("CommunicationActivityMetric", new TemporalMetricValueStrategy(MailingListTemporalMetric.class)); + metrics.put("CommunicationTemporalMetric", new NumberMetricValueStrategy(MailingListTemporalMetric.class)); + + } @Transactional(readOnly = true) public Map search(String query){ @@ -118,6 +142,7 @@ private List getMetricsResultList(Identity identity){ new ArrayList>(); + profileMetrics.add(ScmActivityMetric.class); profileMetrics.add(ScmTemporalMetric.class); profileMetrics.add(ScmApiIntroducedMetric.class); @@ -127,19 +152,20 @@ private List getMetricsResultList(Identity identity){ profileMetrics.add(MailingListTemporalMetric.class); List metricList = new ArrayList(); + Set strings = metrics.keySet(); - for(Class profileMetric : profileMetrics){ + int id = 0; + for(String key: strings){ - Metric recentMetric = metricDao.getMostRecentMetric(identity, profileMetric); - if(recentMetric !=null){ + MetricValueStrategy metricValueStrategy = metrics.get(key); - metricList.add(new MetricResult( - recentMetric.getId(), - recentMetric.getLabel(), - ((Number)recentMetric.getValue()).intValue() - )); - } + Integer value = metricValueStrategy.getValue(metricDao, identity); + metricList.add(new MetricResult( + id++, + key, + value + )); } return metricList; diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/rebel.xml b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/rebel.xml deleted file mode 100644 index e97cc18..0000000 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/java/rebel.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/log4j.properties b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/log4j.properties index e101736..5d315e2 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/log4j.properties +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/log4j.properties @@ -33,6 +33,7 @@ log4j.logger.eu.alertproject.iccs.stardom.ui.controller.ProfileController=ALL log4j.logger.eu.alertproject.iccs.stardom.ui.service=ERROR log4j.logger.eu.alertproject.iccs.stardom.ui.service.KEUIAnnotationService=ALL +log4j.logger.eu.alertproject.iccs.stardom.ui.service.DefaultIdentityMergeService=ALL ##################### UI############################ diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/system.properties b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/system.properties index cce4ba2..3a63edb 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/system.properties +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/resources/system.properties @@ -4,7 +4,8 @@ jdbc.username=alert jdbc.password=1234 #activemq.url=tcp://localhost:61616 -activemq.url=tcp://www.cimcollege.rs:61616 +activemq.url=tcp://laus.perimeter.fzi.de:61616 +#activemq.url=tcp://www.cimcollege.rs:61616 log.file=/tmp/run.log #ui diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/freemarker/search.ftl b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/freemarker/search.ftl index 25dbec0..556b713 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/freemarker/search.ftl +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/freemarker/search.ftl @@ -88,57 +88,67 @@ recommend sticking to 'spring' --> var ul = ""; var counter =0; - $.each(data.results,function(key,val){ - - ul+='
' + - " " + - "Delete" + - ""+ - '
'; - - ul+=""; - ul+=" " + - ""; - - $.each(val.profiles,function(pkey,pval){ - ul+=" " + - "" + - "" + - "" + - "" + - "" + - "" + - ""; + var empty = $.isEmptyObject(data.results); + console.log("Empty "+empty) + if(!empty){ + + $.each(data.results,function(key,val){ + + ul+='
' + + " " + + "Delete" + + ""+ + '
'; + + ul+="
Id" + - "Name" + - "Lastname" + - "Username" + - "Email" + - "Source" + - "
"+pval.id+""+pval.name+""+pval.lastname+""+pval.username+""+pval.email+""+pval.source+"
"; + ul+=" " + + ""; + + $.each(val.profiles,function(pkey,pval){ + ul+=" " + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + + }); + ul+="
Id" + + "Name" + + "Lastname" + + "Username" + + "Email" + + "Source" + + "
"+pval.id+""+pval.name+""+pval.lastname+""+pval.username+""+pval.email+""+pval.source+"
"; + + ul+=""; + + $.each(val.metrics,function(pkey,pval){ + ul+=" " + + "" + + "" + + ""; + + }); + + ul+="
"+pval.name+""+pval.value+"
" + + "
" + + "
"; + + + counter++; + }); - ul+=""; + + $("#search-results").html(ul); + }else{ - ul+=""; - - $.each(val.metrics,function(pkey,pval){ - ul+=" " + - "" + - "" + - ""; - - }); - - ul+="
"+pval.name+""+pval.value+"
" + - "" + - ""; - - - counter++; - - }); - - $("#search-results").html(ul); + $("#search-results").html("Create a profile!"); + + } unlockLinks(); } diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/ui-servlet.xml b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/ui-servlet.xml index 044b39f..a156cad 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/ui-servlet.xml +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/main/webapp/WEB-INF/ui-servlet.xml @@ -139,7 +139,7 @@ - + @@ -187,6 +187,22 @@
+ + + + + + + + + + + + + + + diff --git a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/src/test/java/eu/alertproject/iccs/stardom/identifier/IdentityMergeServiceTest.java b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/test/java/eu/alertproject/iccs/stardom/ui/service/IdentityMergeServiceTest.java similarity index 99% rename from eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/src/test/java/eu/alertproject/iccs/stardom/identifier/IdentityMergeServiceTest.java rename to eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/test/java/eu/alertproject/iccs/stardom/ui/service/IdentityMergeServiceTest.java index 2142c88..3ea0079 100644 --- a/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.identifier/src/test/java/eu/alertproject/iccs/stardom/identifier/IdentityMergeServiceTest.java +++ b/eu.alert-project.iccs.stardom.core/eu.alert-project.iccs.stardom.ui/src/test/java/eu/alertproject/iccs/stardom/ui/service/IdentityMergeServiceTest.java @@ -1,4 +1,4 @@ -package eu.alertproject.iccs.stardom.identifier; +package eu.alertproject.iccs.stardom.ui.service; import com.existanze.libraries.orm.test.JpaTestUtils; import eu.alertproject.iccs.stardom.datastore.api.dao.IdentityDao; @@ -6,7 +6,6 @@ import eu.alertproject.iccs.stardom.datastore.api.dao.ProfileDao; import eu.alertproject.iccs.stardom.domain.api.*; import eu.alertproject.iccs.stardom.domain.api.metrics.*; -import eu.alertproject.iccs.stardom.identifier.api.IdentityMergeService; import eu.alertproject.iccs.stardom.testdata.api.SpringDbUnitJpaTest; import org.apache.commons.lang.time.DateFormatUtils; import org.junit.Assert; @@ -34,7 +33,7 @@ public class IdentityMergeServiceTest extends SpringDbUnitJpaTest{ @Autowired - IdentityMergeService identityMergeService; + DefaultIdentityMergeService identityMergeService; @Override diff --git a/eu.alert-project.iccs.stardom.core/pom.xml b/eu.alert-project.iccs.stardom.core/pom.xml index 2ae9cb3..a681af5 100644 --- a/eu.alert-project.iccs.stardom.core/pom.xml +++ b/eu.alert-project.iccs.stardom.core/pom.xml @@ -46,6 +46,19 @@ 1970-01-01 + + deploy + + + build + deploy + + + + 3306 + 1970-01-01 + + @@ -493,6 +506,7 @@ test +