Selecting the check mark 'v' graphic to signify done with edit has no effect.
The row stays in edit mode. Selecting the 'x' does work to cancel.
Code: Select all
<p:column headerText="Interface" sortBy="#{user.networkInterface.id}" filterBy="#{user.networkInterface.id}" filterMatchMode="contains">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{user.networkInterface.id}" />
</f:facet>
<f:facet name="input">
<h:selectOneMenu value="#{user.networkInterface}">
<f:selectItems value="#{networkInterfaceService.list}"
var="networkInterface"
itemLabel="#{networkInterface.id}"
itemValue="#{networkInterface}"
/>
</h:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
///////////////////////////////////////////
// NetworkInterface.java
@Entity
public class NetworkInterface implements Serializable {
@Id
private String id;
@OneToOne
@JoinColumn(name = "nuid")
private NetworkUser networkUser;
@OneToMany(mappedBy="srcInt")
private Set<NetworkEvent> networkEventSet;
public NetworkInterface() {
}
public NetworkInterface(String i) {
id = i;
}
public String getId() {
return id;
}
public void setId(String i) {
id = i;
}
public NetworkUser getNetworkUser() {
return networkUser;
}
public void setNetworkUser(NetworkUser nu) {
networkUser = nu;
}
public Set<NetworkEvent> getNetworkEventSet() {
return networkEventSet;
}
public void setNetworkEventSet(Set<NetworkEvent> nes) {
networkEventSet = nes;
}
public String toString() {
StringBuffer sb = new StringBuffer(getClass().getSimpleName() + "" + getId());
sb.append("");
return sb.toString();
}
}
//////////////////////////////////////////
// NetworkUser.java
@Entity
public class NetworkUser implements Serializable {
@Id @GeneratedValue
private Long id;
private String firstName;
private String lastName;
@OneToOne
@JoinColumn(name = "niid")
private NetworkInterface networkInterface;
public NetworkUser() {
}
public NetworkUser(String f, String l) {
firstName = f;
lastName = l;
}
public Long getId() {
return id;
}
public void setId(Long i) {
id = i;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String s) {
firstName = s;
}
public String getLastName() {
return lastName;
}
public void setLastName(String s) {
lastName = s;
}
public NetworkInterface getNetworkInterface() {
return networkInterface;
}
public void setNetworkInterface(NetworkInterface n) {
networkInterface = n;
}
public String toString() {
StringBuffer sb = new StringBuffer(getClass().getName() + "[id=" + getId());
sb.append(", firstName=" + getFirstName());
sb.append(", lastName=" + getLastName());
sb.append(", networkInterface=" + getNetworkInterface());
sb.append("]");
return sb.toString();
}
}