Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
rhbz1120457 - add expiry queue and consumer, refactoring...
Browse files Browse the repository at this point in the history
- extract strings so that it's localizable
- remove netty connector and acceptor and use in vm ones
- add comments
  • Loading branch information
Patrick Huang committed Dec 3, 2014
1 parent 12ea662 commit 4f9bf55
Show file tree
Hide file tree
Showing 14 changed files with 276 additions and 181 deletions.
8 changes: 4 additions & 4 deletions etc/scripts/cargowait.sh
Expand Up @@ -6,13 +6,13 @@ extraArgs=
while getopts "nhd:" opt; do
case ${opt} in
n)
echo ">> -n specified. Will NOT run maven goal 'clean'" >&2
echo ">> -n specified. Will NOT run maven goal 'clean'." >&2
clean=''
;;
h)
echo ">> run this script at zanata server module base dir to prepare a functional test war and start cargo in waiting mode" >&2
echo ">>>> -n if you don't want to run maven clean goal" >&2
echo ">>>> -d <extra maven arguments, e.g. '-Dwebdriver.type=firefox -Dsmtp.port=25'> if you don't want to pass in extra arguments when running functional test" >&2
echo ">> run this script to prepare a functional test war and start cargo in waiting mode" >&2
echo ">>>> -n if you don't want to run maven clean goal. Useful when you have run functional-test-db.snapshot.sh." >&2
echo ">>>> -d <extra maven arguments, e.g. '-Dwebdriver.type=firefox -Dsmtp.port=25'> if you want to pass in extra arguments when running functional test" >&2
exit 0;
;;
d)
Expand Down
6 changes: 6 additions & 0 deletions etc/scripts/functional-test-db-snapshot.sh
@@ -1,5 +1,11 @@
#!/bin/bash

# once you have run cargowait.sh script and cargo has started, you can run this
# script to take a snapshot of current database and store it as
# target/database.sql.
# subsequent cargowait.sh execution can then use -n option (no clean) to make
# use of this script.

scriptBaseDir=$(dirname $0)

functionalTestTarget=${scriptBaseDir}/../../functional-test/target
Expand Down
Expand Up @@ -28,6 +28,7 @@
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.zanata.page.BasePage;
import org.zanata.util.Checkbox;
import org.zanata.util.TableRow;
Expand All @@ -38,6 +39,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.annotation.Nullable;

/**
* @author Patrick Huang <a
Expand Down Expand Up @@ -125,13 +127,21 @@ public ManageLanguageTeamMemberPage searchPersonAndAddToTeam(
Set<TeamPermission> permissionToAdd = Sets.newHashSet(permissions);
permissionToAdd.add(TeamPermission.Translator);

for (TeamPermission permission : permissionToAdd) {
for (final TeamPermission permission : permissionToAdd) {
log.info("Set checked as {}", permission.name());
Checkbox.of(tryGetFirstRowInSearchPersonResult(personName)
.getCells()
.get(permission.columnIndex)
.findElement(By.tagName("input")))
.check();
waitForAMoment().until(new Predicate<WebDriver>() {
@Override
public boolean apply(@Nullable WebDriver webDriver) {
TableRow tableRow =
tryGetFirstRowInSearchPersonResult(personName);
WebElement input =
tableRow.getCells().get(permission.columnIndex)
.findElement(By.tagName("input"));
Checkbox checkbox = Checkbox.of(input);
checkbox.check();
return checkbox.checked();
}
});
}
log.info("Click Add Selected");
waitForWebElement(addSelectedButton).click();
Expand Down Expand Up @@ -188,3 +198,4 @@ public static enum TeamPermission {

}
}

Expand Up @@ -73,6 +73,7 @@ public void translatorJoinsLanguageTeam() throws Exception {
WiserMessage emailMessage = hasEmailRule.getMessages().get(0);
assertThat(getEmailContent(emailMessage))
.contains(
"Administrator(admin@example.com) has changed your permission");
"Administrator(admin@example.com) has changed your permissions");
}
}

37 changes: 6 additions & 31 deletions functional-test/src/test/resources/conf/standalone.xml
Expand Up @@ -243,18 +243,9 @@
<journal-file-size>102400</journal-file-size>
<journal-min-files>2</journal-min-files>
<connectors>
<netty-connector name="netty" socket-binding="messaging"/>
<netty-connector name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
</netty-connector>
<in-vm-connector name="in-vm" server-id="0"/>
</connectors>
<acceptors>
<netty-acceptor name="netty" socket-binding="messaging"/>
<netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
<param key="direct-deliver" value="false"/>
</netty-acceptor>
<in-vm-acceptor name="in-vm" server-id="0"/>
</acceptors>
<security-settings>
Expand Down Expand Up @@ -286,20 +277,10 @@
<entry name="java:/ConnectionFactory"/>
</entries>
</connection-factory>
<!-- if we want to enable remote access to the queue
<connection-factory name="RemoteConnectionFactory">
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
</entries>
</connection-factory>
-->
<pooled-connection-factory name="hornetq-ra">
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="netty"/>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
Expand All @@ -312,18 +293,14 @@
<entry name="jms/queue/MailsQueue"/>
<durable>true</durable>
</jms-queue>
<jms-queue name="ExpiryQueue">
<entry name="jms/queue/ExpiryQueue"/>
<durable>true</durable>
</jms-queue>
<jms-queue name="DLQ">
<entry name="jms/queue/DLQ"/>
<durable>true</durable>
</jms-queue>
<!-- if we want to enable remote access to the queue
<jms-queue name="TestQueue">
<entry name="java:jboss/exported/jms/queue/TestQueue" />
</jms-queue>
-->
<!--<jms-topic name="MetricsTopic">
<entry name="java:jboss/topic/MetricsTopic"/>
</jms-topic>-->
</jms-destinations>
</hornetq-server>
</subsystem>
Expand Down Expand Up @@ -458,9 +435,6 @@
port="${jboss.http.port,env.JBOSS_HTTP_PORT:8180}" />
<socket-binding name="https"
port="${jboss.https.port,env.JBOSS_HTTPS_PORT:8543}" />
<socket-binding name="messaging" port="${jboss.messaging.port,env.JBOSS_MESSAGING_PORT:5445}"/>
<socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
<socket-binding name="messaging-throughput" port="${jboss.messaging.throughput.port,env.JBOSS_MESSAGING_THROUGHPUT_PORT:5455}"/>
<socket-binding name="osgi-http" interface="management"
port="${jboss.osgi.port,env.JBOSS_OSGI_PORT:8190}" />
<socket-binding name="remoting"
Expand All @@ -474,3 +448,4 @@
</outbound-socket-binding>
</socket-binding-group>
</server>

35 changes: 18 additions & 17 deletions zanata-war/src/main/java/org/zanata/action/LanguageTeamAction.java
Expand Up @@ -43,6 +43,7 @@
import org.zanata.dao.LocaleMemberDAO;
import org.zanata.dao.PersonDAO;
import org.zanata.events.LanguageTeamPermissionChangedEvent;
import org.zanata.i18n.Messages;
import org.zanata.model.HAccount;
import org.zanata.model.HLocale;
import org.zanata.model.HLocaleMember;
Expand Down Expand Up @@ -76,6 +77,9 @@ public class LanguageTeamAction implements Serializable {
@In(required = false, value = JpaIdentityStore.AUTHENTICATED_USER)
private HAccount authenticatedAccount;

@In
private Messages msgs;

@Getter
@Setter
private String language;
Expand All @@ -87,7 +91,7 @@ public class LanguageTeamAction implements Serializable {

public List<SelectablePerson> getSearchResults() {
if (searchResults == null) {
searchResults = new ArrayList<SelectablePerson>();
searchResults = new ArrayList<>();
}

return searchResults;
Expand Down Expand Up @@ -144,10 +148,8 @@ public void joinTribe() {
true, true, true);
log.info("{} joined tribe {}",
authenticatedAccount.getUsername(), this.language);
// FIXME use localizable string
FacesMessages.instance().add(
"You are now a member of the {0} language team",
getLocale().retrieveNativeName());
FacesMessages.instance().add(msgs.format("jsf.MemberOfTeam",
getLocale().retrieveNativeName()));
} catch (Exception e) {
FacesMessages.instance().add(Severity.ERROR, e.getMessage());
}
Expand All @@ -164,14 +166,13 @@ public void leaveTribe() {
authenticatedAccount.getPerson().getId());
log.info("{} left tribe {}", authenticatedAccount.getUsername(),
this.language);
// FIXME use localizable string
FacesMessages.instance().add("You have left the {0} language team",
getLocale().retrieveNativeName());
FacesMessages.instance().add(msgs.format("jsf.LeftTeam",
getLocale().retrieveNativeName()));
}

@Restrict("#{s:hasPermission(languageTeamAction.locale, 'manage-language-team')}")
public void saveTeamCoordinator(HLocaleMember member) {
savePermission(member, "Team Coordinator", member.isCoordinator());
savePermission(member, msgs.get("jsf.Translator"), member.isCoordinator());
if (Events.exists()) {
HPerson doneByPerson = authenticatedAccount.getPerson();
LanguageTeamPermissionChangedEvent changedEvent =
Expand All @@ -188,7 +189,7 @@ public void saveTeamCoordinator(HLocaleMember member) {

@Restrict("#{s:hasPermission(languageTeamAction.locale, 'manage-language-team')}")
public void saveTeamReviewer(HLocaleMember member) {
savePermission(member, "Team Reviewer", member.isReviewer());
savePermission(member, msgs.get("jsf.Reviewer"), member.isReviewer());
if (Events.exists()) {
HPerson doneByPerson = authenticatedAccount.getPerson();
LanguageTeamPermissionChangedEvent changedEvent =
Expand All @@ -205,7 +206,7 @@ public void saveTeamReviewer(HLocaleMember member) {

@Restrict("#{s:hasPermission(languageTeamAction.locale, 'manage-language-team')}")
public void saveTeamTranslator(HLocaleMember member) {
savePermission(member, "Team Translator", member.isTranslator());
savePermission(member, msgs.get("jsf.Translator"), member.isTranslator());
if (Events.exists()) {
HPerson doneByPerson = authenticatedAccount.getPerson();
LanguageTeamPermissionChangedEvent changedEvent =
Expand All @@ -227,13 +228,12 @@ private void savePermission(HLocaleMember member, String permissionDesc,
HPerson person = member.getPerson();
if (isPermissionGranted) {
FacesMessages.instance().add(
"{0} has been made a " + permissionDesc,
person.getAccount().getUsername());
msgs.format("jsf.AddedAPermission",
person.getAccount().getUsername(), permissionDesc));
} else {
// TODO i18n
FacesMessages.instance().add(
"{0} has been removed as " + permissionDesc,
person.getAccount().getUsername());
msgs.format("jsf.RemovedAPermission",
person.getAccount().getUsername(), permissionDesc));
}
}

Expand Down Expand Up @@ -275,7 +275,7 @@ public void searchForTeamMembers() {
this.personDAO.findAllContainingName(this.searchTerm);
for (HPerson person : results) {
HLocaleMember localeMember = getLocaleMember(person.getId());
boolean isMember = localeMember == null ? false : true;
boolean isMember = localeMember != null;
boolean isReviewer = false;
boolean isTranslator = false;
boolean isCoordinator = false;
Expand Down Expand Up @@ -341,3 +341,4 @@ private void refreshSelected() {
}

}

0 comments on commit 4f9bf55

Please sign in to comment.