Błąd przy wyświetlaniu szczegółów - java, jsf

Błąd przy wyświetlaniu szczegółów - java, jsf
AN
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 5 lat
  • Postów:11
0

Problem polega na tym, że mam listę zamówień, po kliknięciu w ikonkę pokazującą szczegóły zamówienia wywal mi taki błąd:

Cannot convert [model.Order1[ orderId=31 ], model.Order1[ orderId=10 ]] of type class java.util.Vector to class java.lang.Boolean

za bardzo nie wiem co tu poszło nie tak i co ten błąd oznacza.
Proszę o jakąś wskazówkę.

edytowany 1x, ostatnio: Anntru
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:2 minuty
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
0

Skąd się tam wziął ten vector? Jakiś projekt z drugiego okresu przejściowego?
Ogólnie bez kodu i wiekszej ilości debugu to niewiele można powiedzieć.


jeden i pół terabajta powinno wystarczyć każdemu
AN
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 5 lat
  • Postów:11
0

Ogólnie to własnie nie mam pojęcia czemu mi ten vector wyrzuca, ponieważ nie został użyty w ogóle w kodzie.

myOrders - mój front:

Kopiuj
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                xmlns:c="http://java.sun.com/jsf/composite/composites"
                template="/WEB-INF/template.xhtml">
   
       <f:metadata>
        <f:viewAction action="#{loginController.redirectOnLoggedIn()}"/>
         </f:metadata>
 
    <ui:define name="content">
       
        <div class="ui-g">
            <h:form id="myOrderList">
            <div class="ui-g-12">
     
                 <div class="ui-g-12">
                        <p:dataTable id="projectTableAll"
                                     value="#{order1Controller.userOrderList}"
                                     var="list"
                                     rows="10"
                                     rowKey="#{list.orderId}"
                                     reflow="true"
                                     widgetVar="order"
                                     paginatorPosition="bottom"
                                     paginator="true"
                                     rowIndexVar="index"
                                     rowsPerPageTemplate="5 10 20 30 40 50"
                                     scrollable="false"
                                     emptyMessage="#{order.lblRecordsNotFound}"
                                     style="margin-top: 10px;">
 
                            <f:facet name="header">
                                <h:outputText value="Moje zlecenia" style="font-size: 30px; "/>  
                            </f:facet>  
                           
<!--                               <f:facet name="header">
                                <h:outputText value="#{order.lblOrderList}" style="font-size: 30px; "/>  
                            </f:facet>-->
 
                            <p:column style="width: 20%" >
                                <f:facet name="header">
                                    <h:outputText value="Info" style="font-size:15px" />
                                </f:facet>
                                <h:outputText value="#{list.name}" style="font-weight: bold"/><br/><br/>
                                <h:outputText value="Budżet: " style="font-size: small"/>
                                <h:outputText value="#{list.budget} PLN" style="font-size: small; font-weight: bold"/><br/><br/>
                                <h:outputText value="Załadunek: " style="font-size: small" />
                                <h:outputText value="#{list.pickupDate}" style="font-size: small">
                                    <f:convertDateTime pattern="dd.MM.yyyy" />
                                </h:outputText><br/>
                                <h:outputText value="Rozładunek: " style="font-size: small"/>
                                <h:outputText value="#{list.deliveryDate}" style="font-size: small">
                                    <f:convertDateTime pattern="dd.MM.yyyy" />
                                </h:outputText>
                            </p:column>
                           
 
                            <p:column style="width: 10%" sortBy="#{list.pickupAddress.country}" filterBy="#{list.pickupAddress.country}" >
                                <f:facet name="header">
                                    <h:outputText value="Załadunek" style="font-size:15px" />
                                </f:facet>
                                <h:outputText value="#{list.pickupAddress.country}" style="font-weight: bold" /><br/><br/>
                                <h:outputText value="#{list.pickupAddress.town}" style="font-size: small"/><br/>
                                <h:outputText value="#{list.pickupAddress.zipCode}" style="font-size: small"/>
                            </p:column>
                           
                           
                            <p:column style="width: 10%" sortBy="#{list.deliveryAddress.country}" filterBy="#{list.deliveryAddress.country}" >
                                <f:facet name="header">
                                    <h:outputText value="Rozładunek" style="font-size:15px" />
                                </f:facet>
                                <h:outputText value="#{list.deliveryAddress.country}" style="font-weight: bold" /><br/><br/>
                                <h:outputText value="#{list.deliveryAddress.town}" style="font-size: small"/><br/>
                                <h:outputText value="#{list.deliveryAddress.zipCode}" style="font-size: small"/>
                            </p:column>
                            <p:column sortBy="#{list.bodyForm}" filterBy="#{list.bodyForm}" style="width: 10%" >
                                <f:facet name="header">
                                    <h:outputText value="Pojazd" style="font-size:15px" />
                                </f:facet>
                                <h:outputText value="#{list.bodyForm}" style="font-weight: bold" /><br/><br/>
                                <h:outputText value="#{list.capacity}#{list.unit}" style="font-size: small" /><br/>
                                <h:outputText value="#{list.lodeType}" style="font-size: small"/>
                            </p:column>  
 
                            <p:column sortBy="#{list.createTime}" filterBy="#{list.createTime}" style="width: 10%" >
                                <f:facet name="header">
                                    <h:outputText value="Zgłoszono" style="font-size:15px" />
                                </f:facet>
                                <h:outputText value="#{list.createTime}">
                                    <f:convertDateTime pattern="dd.MM.yyyy" />
                                </h:outputText><br/>
                                <h:outputText value="#{list.createTime}">
                                    <f:convertDateTime pattern="HH:mm:ss" />
                                </h:outputText>
                            </p:column>  
 
                            <p:column sortBy="#{list.expirationDate}" filterBy="#{list.expirationDate}" style="width: 10%" >
                                <f:facet name="header">
                                    <h:outputText value="Ważne do" style="font-size:15px" />
                                </f:facet>
                                <h:outputText value="#{list.expirationDate}" style="font-weight: bold">
                                    <f:convertDateTime pattern="dd.MM.yyyy" />
                                </h:outputText><br/>
                                <h:outputText value="#{list.expirationDate}" >
                                    <f:convertDateTime pattern="HH:mm:ss" />
                                </h:outputText>
                            </p:column>
 
                            <p:column style="width: 10%" >
                                <f:facet name="header">
                                    <h:outputText value="Kontakt" style="font-size:15px"/>
                                </f:facet>
                                <h:outputText value="#{list.lodeType}" />
                            </p:column>  
             
                 <p:column style="width: 10%" headerText="Szczegóły" >
<!--                                <f:facet name="header">-->
<!--<h:outputText value="663282904" style="font-size:15px"/>  -->
                <p:commandButton id="searchIcon" icon="fa fa-search" oncomplete="PF('showOrderDetails').show();" style="margin-left: 27px" />  
 
<!--                                </f:facet>-->  
                            </p:column>  
                        </p:dataTable>  
 
                    </div>    
               
                  <p:dataTable id="commentTable"
                                     var="comment"
                                     widgetVar="commentTable"
                                     scrollable="false"
                                     style="margin-top: 10px;"
                                     value="#commentController.comment()}"/>
             
               
<!--    <h:form id="display">    
   
         <p:textEditor widgetVar="editor2" height="100" style="margin-bottom:10px" placeholder="Dodaj komentarz...">
          <f:facet name="toolbar">
            <span class="ql-formats">
            <button class="ql-bold"></button>
            <button class="ql-italic"></button>
            <button class="ql-underline"></button>
            <button class="ql-strike"></button>
            </span>
            <span class="ql-formats">
            <select class="ql-font"></select>
            <select class="ql-size"></select>
            </span>
            </f:facet>
          </p:textEditor>  
     
   
     </h:form>
                  -->
                 
                 
                 
<!--    <p:commandButton value="Dodaj komentarz" update="display" oncomplete="PF('dlg').show()" icon="ui-icon-disk" />-->
<!--    <p:commandButton value="Wyczyść" type="button" onclick="PF('editor1').clear();" icon="ui-icon-close" /> -->
         
     </div>      
</h:form>
</div>  
 <ui:include src="/showOrderDetails.xhtml"/>  
    </ui:define>
 
</ui:composition> 
Kopiuj
package controller;
 
import model.Order1;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.inject.Inject;
import model.LoadingType;
import model.OrderAddress;
import model.Parameter;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;
import service.impl.OrderServiceImpl;
 
@Named("order1Controller")
@SessionScoped
public class Order1Controller implements Serializable {
 
    @Inject
    private OrderServiceImpl order1Service;
 
    private UploadedFile uploadedFile;
    private String name;
    private String bodyForm;
    private String description;
    private Integer capacity;
    private String unit;
    private BigDecimal budget;
    private String currency = "PLN";
    private Integer orderLength;
    private Integer orderWidth;
    private Integer orderHeight;
    private Integer orderVolume;
    private Date currentDate = new Date();
    private Date pickupDate = currentDate;
    private Date deliveryDate = currentDate;
    private Date expirationDate = currentDate;
    private String lodeType;
    private String paymentDate;
    private Order1 current;
    private OrderAddress deliveryAddress;
    private OrderAddress pickupAddress;
    private String selectedCountry;
    private List<String> bodyFormsList;
    private List<String> countriesList;
    private List<String> lodeTypesList;
    private List<String> paymentDatesList;
    private List<Parameter> parametersList;
    private List<LoadingType> loadingTypesList;
    private List<Order1> orderList;
    private List<Order1> userOrderList;
    private List<String> selectedParameters;
    private List<String> selectedLoadingTypes;
    private String userOrderParameter;
 
    public String getUserOrderParameter() {
        return userOrderParameter;
    }
 
    public void setUserOrderParameter(String userOrderParameter) {
        this.userOrderParameter = userOrderParameter;
    }
 
    public List<String> getSelectedLoadingTypes() {
        return selectedLoadingTypes;
    }
 
    public void setSelectedLoadingTypes(List<String> selectedLoadingTypes) {
        this.selectedLoadingTypes = selectedLoadingTypes;
    }
 
    public List<String> getSelectedParameters() {
        return selectedParameters;
    }
 
    public void setSelectedParameters(List<String> selectedParameters) {
        this.selectedParameters = selectedParameters;
    }
 
    public Date getCurrentDate() {
        return currentDate;
    }
 
    public void setCurrentDate(Date currentDate) {
        this.currentDate = currentDate;
    }
 
    public UploadedFile getUploadedFile() {
        return uploadedFile;
    }
 
    public void setUploadedFile(UploadedFile uploadedFile) {
        this.uploadedFile = uploadedFile;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getBodyForm() {
        return bodyForm;
    }
 
    public void setBodyForm(String bodyForm) {
        this.bodyForm = bodyForm;
    }
 
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
 
    public Integer getCapacity() {
        return capacity;
    }
 
    public void setCapacity(Integer capacity) {
        this.capacity = capacity;
    }
 
    public String getUnit() {
        return unit;
    }
 
    public void setUnit(String unit) {
        this.unit = unit;
    }
 
    public BigDecimal getBudget() {
        return budget;
    }
 
    public void setBudget(BigDecimal budget) {
        this.budget = budget;
    }
 
    public String getCurrency() {
        return currency;
    }
 
    public void setCurrency(String currency) {
        this.currency = currency;
    }
 
    public Integer getOrderLength() {
        return orderLength;
    }
 
    public void setOrderLength(Integer orderLength) {
        this.orderLength = orderLength;
    }
 
    public Integer getOrderWidth() {
        return orderWidth;
    }
 
    public void setOrderWidth(Integer orderWidth) {
        this.orderWidth = orderWidth;
    }
 
    public Integer getOrderHeight() {
        return orderHeight;
    }
 
    public void setOrderHeight(Integer orderHeight) {
        this.orderHeight = orderHeight;
    }
 
    public Date getPickupDate() {
        return pickupDate;
    }
 
    public void setPickupDate(Date pickupDate) {
        this.pickupDate = pickupDate;
    }
 
    public Date getDeliveryDate() {
        return deliveryDate;
    }
 
    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }
 
    public Date getExpirationDate() {
        return expirationDate;
    }
 
    public void setExpirationDate(Date expirationDate) {
        this.expirationDate = expirationDate;
    }
 
    public OrderAddress getDeliveryAddress() {
        if (deliveryAddress == null) {
            deliveryAddress = new OrderAddress();
        }
        return deliveryAddress;
    }
 
    public void setDeliveryAddress(OrderAddress deliveryAddress) {
        this.deliveryAddress = deliveryAddress;
    }
 
    public OrderAddress getPickupAddress() {
        if (pickupAddress == null) {
            pickupAddress = new OrderAddress();
        }
        return pickupAddress;
    }
 
    public void setPickupAddress(OrderAddress pickupAddress) {
        this.pickupAddress = pickupAddress;
    }
 
    public Order1 getSelected() {
        if (current == null) {
            current = new Order1();
        }
        return current;
    }
 
    public List<String> getBodyFormsList() {
        return bodyFormsList;
    }
 
    public void setBodyFormsList(List<String> bodyFormsList) {
        this.bodyFormsList = bodyFormsList;
    }
 
    public String getSelectedCountry() {
        return selectedCountry;
    }
 
    public void setSelectedCounrty(String selectedCountry) {
        this.selectedCountry = selectedCountry;
    }
 
    public List<String> getCountriesList() {
        return countriesList;
    }
 
    public void setCountriesList(List<String> countriesList) {
        this.countriesList = countriesList;
    }
 
    public String getLodeType() {
        return lodeType;
    }
 
    public void setLodeType(String lodeType) {
        this.lodeType = lodeType;
    }
 
    public List<String> getLodeTypesList() {
        return lodeTypesList;
    }
 
    public void setLodeTypesList(List<String> lodeTypesList) {
        this.lodeTypesList = lodeTypesList;
    }
 
    public String getPaymentDate() {
        return paymentDate;
    }
 
    public void setPaymentDate(String paymentDate) {
        this.paymentDate = paymentDate;
    }
 
    public List<String> getPaymentDatesList() {
        return paymentDatesList;
    }
 
    public void setPaymentDatesList(List<String> paymentDatesList) {
        this.paymentDatesList = paymentDatesList;
    }
 
    public List<Parameter> getParametersList() {
        return parametersList;
    }
 
    public void setParametersList(List<Parameter> parametersList) {
        this.parametersList = parametersList;
    }
 
    public List<LoadingType> getLoadingTypesList() {
        return loadingTypesList;
    }
 
    public void setLoadingTypesList(List<LoadingType> loadingTypesList) {
        this.loadingTypesList = loadingTypesList;
    }
 
    public List<Order1> getOrderList(){
        orderList = order1Service.orderList();
        return orderList;
    }
   
    public List<Order1> getUserOrderList() {
        orderList = order1Service.userOrderList();        
        return orderList;
    }
 
    public void setOrderList(List<Order1> orderList) {
        this.orderList = orderList;
    }
 
    public void setUserOrderList(List<Order1> userOrderList) {
        this.userOrderList = userOrderList;
    }
   
 
    public void uploadFileToMemory(FileUploadEvent event) {
        uploadedFile = event.getFile();
 
    }
 
    public void initOrderList() {
        orderList = this.order1Service.orderList();
    }
   
    public void initUserOrderList(){
        userOrderList = this.order1Service.userOrderList();
    }
 
    public void showLists() {
        bodyFormsList = order1Service.bodyForms();
        countriesList = order1Service.countries();
        lodeTypesList = order1Service.lodeTypes();
        paymentDatesList = order1Service.paymentDates();
        parametersList = order1Service.parameters();
        loadingTypesList = order1Service.loadingTypes();
    }
 
    public Integer orderVolume() {
        if (orderLength != null && orderHeight != null && orderWidth != null) {
            return order1Service.calculateVolume(orderLength, orderHeight, orderWidth);
        }
        return 0;
    }
 
    public void createOrder1() {
 
        order1Service.createOrder1(uploadedFile,
                name,
                bodyForm,
                description,
                capacity,
                unit,
                budget,
                currency,
                orderLength,
                orderWidth,
                orderHeight,
                pickupDate,
                deliveryDate,
                expirationDate,
                pickupAddress,
                deliveryAddress,
                lodeType,
                selectedParameters,
                selectedLoadingTypes,
                userOrderParameter);
    }
 
    @FacesConverter(forClass = Order1.class)
    public static class UserLogControllerConverter implements Converter {
 
        @Override
        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
            if (value == null || value.length() == 0) {
                return null;
            }
            UserAccountController controller = (UserAccountController) facesContext.getApplication().getELResolver().
                    getValue(facesContext.getELContext(), null, "order1Controller");
            return controller.getUserAccount(getKey(value));
        }
 
        java.lang.Integer getKey(String value) {
            java.lang.Integer key;
            key = Integer.valueOf(value);
            return key;
        }
 
        String getStringKey(java.lang.Integer value) {
            StringBuilder sb = new StringBuilder();
            sb.append(value);
            return sb.toString();
        }
 
        @Override
        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
            if (object == null) {
                return null;
            }
            if (object instanceof Order1) {
                Order1 o = (Order1) object;
                return getStringKey(o.getOrderId());
            } else {
                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + Order1.class.getName());
            }
        }

    }

} 

``java 


package model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

@Entity
@Table(name = "order1")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Order1.findAll", query = "SELECT o FROM Order1 o")
, @NamedQuery(name = "Order1.findByOrderId", query = "SELECT o FROM Order1 o WHERE o.orderId = :orderId")
, @NamedQuery(name = "Order1.findByName", query = "SELECT o FROM Order1 o WHERE o.name = :name")
, @NamedQuery(name = "Order1.findByCreateTime", query = "SELECT o FROM Order1 o WHERE o.createTime = :createTime")
, @NamedQuery(name = "Order1.findByBodyForm", query = "SELECT o FROM Order1 o WHERE o.bodyForm = :bodyForm")
, @NamedQuery(name = "Order1.findByDescription", query = "SELECT o FROM Order1 o WHERE o.description = :description")
, @NamedQuery(name = "Order1.findByCapacity", query = "SELECT o FROM Order1 o WHERE o.capacity = :capacity")
, @NamedQuery(name = "Order1.findByUnit", query = "SELECT o FROM Order1 o WHERE o.unit = :unit")
, @NamedQuery(name = "Order1.findByBudget", query = "SELECT o FROM Order1 o WHERE o.budget = :budget")
, @NamedQuery(name = "Order1.findByCurrency", query = "SELECT o FROM Order1 o WHERE o.currency = :currency")
, @NamedQuery(name = "Order1.findByOrderLength", query = "SELECT o FROM Order1 o WHERE o.orderLength = :orderLength")
, @NamedQuery(name = "Order1.findByOrderWidth", query = "SELECT o FROM Order1 o WHERE o.orderWidth = :orderWidth")
, @NamedQuery(name = "Order1.findByOrderHeight", query = "SELECT o FROM Order1 o WHERE o.orderHeight = :orderHeight")
, @NamedQuery(name = "Order1.findByPickupDate", query = "SELECT o FROM Order1 o WHERE o.pickupDate = :pickupDate")
, @NamedQuery(name = "Order1.findByDeliveryDate", query = "SELECT o FROM Order1 o WHERE o.deliveryDate = :deliveryDate")
, @NamedQuery(name = "Order1.findByExpirationDate", query = "SELECT o FROM Order1 o WHERE o.expirationDate = :expirationDate")
, @NamedQuery(name = "Order1.findByUser", query = "SELECT o FROM Order1 o INNER JOIN o.userHasOrderList uhl WHERE uhl.user.userId = :userAccountId")
, @NamedQuery(name = "Order1.findByLodeType", query = "SELECT o FROM Order1 o WHERE o.lodeType = :lodeType")})
public class Order1 implements Serializable {

@OneToMany(cascade = CascadeType.ALL, mappedBy = "order1")
private List<UserHasOrder> userHasOrderList;

private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "order_id")
private Integer orderId;
@Size(max = 45)
@Column(name = "name")
private String name;
@Basic(optional = false)
@NotNull
@Column(name = "create_time")
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 45)
@Column(name = "body_form")
private String bodyForm;
@Size(max = 255)
@Column(name = "description")
private String description;
@Column(name = "capacity")
private Integer capacity;
@Size(max = 3)
@Column(name = "unit")
private String unit;
// @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
@Column(name = "budget")
private BigDecimal budget;
@Size(max = 3)
@Column(name = "currency")
private String currency;
@Column(name = "order_length")
private Integer orderLength;
@Column(name = "order_width")
private Integer orderWidth;
@Column(name = "order_height")
private Integer orderHeight;
@Column(name = "pickup_date")
@Temporal(TemporalType.TIMESTAMP)
private Date pickupDate;
@Column(name = "delivery_date")
@Temporal(TemporalType.TIMESTAMP)
private Date deliveryDate;
@Column(name = "expiration_date")
@Temporal(TemporalType.TIMESTAMP)
private Date expirationDate;
@Size(max = 45)
@Column(name = "lode_type")
private String lodeType;
@JoinColumn(name = "delivery_address", referencedColumnName = "order_address_id")
@ManyToOne(optional = false)
private OrderAddress deliveryAddress;
@JoinColumn(name = "pickup_address", referencedColumnName = "order_address_id")
@ManyToOne(optional = false)
private OrderAddress pickupAddress;
@JoinColumn(name = "status", referencedColumnName = "order_status_id")
@ManyToOne(optional = false)
private OrderStatus status;
@ManyToMany(mappedBy = "order1List")
private List<LoadingType> loadingTypeList;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "order1")
private List<OrderHasParameter> orderHasParameterList;


public Order1() {
}

public Order1(Integer orderId) {
    this.orderId = orderId;
}

public Order1(Integer orderId, Date createTime, String bodyForm) {
    this.orderId = orderId;
    this.createTime = createTime;
    this.bodyForm = bodyForm;
}
public List<LoadingType> getLoadingTypeList() {
    return loadingTypeList;
}

public void setLoadingTypeList(List<LoadingType> loadingTypeList) {
    this.loadingTypeList = loadingTypeList;
}

public Integer getOrderId() {
    return orderId;
}

public void setOrderId(Integer orderId) {
    this.orderId = orderId;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public Date getCreateTime() {
    return createTime;
}

public void setCreateTime(Date createTime) {
    this.createTime = createTime;
}

public String getBodyForm() {
    return bodyForm;
}

public void setBodyForm(String bodyForm) {
    this.bodyForm = bodyForm;
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public Integer getCapacity() {
    return capacity;
}

public void setCapacity(Integer capacity) {
    this.capacity = capacity;
}

public String getUnit() {
    return unit;
}

public void setUnit(String unit) {
    this.unit = unit;
}

public BigDecimal getBudget() {
    return budget;
}

public void setBudget(BigDecimal budget) {
    this.budget = budget;
}

public String getCurrency() {
    return currency;
}

public void setCurrency(String currency) {
    this.currency = currency;
}

public Integer getOrderLength() {
    return orderLength;
}

public void setOrderLength(Integer orderLength) {
    this.orderLength = orderLength;
}

public Integer getOrderWidth() {
    return orderWidth;
}

public void setOrderWidth(Integer orderWidth) {
    this.orderWidth = orderWidth;
}

public Integer getOrderHeight() {
    return orderHeight;
}

public void setOrderHeight(Integer orderHeight) {
    this.orderHeight = orderHeight;
}

public Date getPickupDate() {
    return pickupDate;
}

public void setPickupDate(Date pickupDate) {
    this.pickupDate = pickupDate;
}

public Date getDeliveryDate() {
    return deliveryDate;
}

public void setDeliveryDate(Date deliveryDate) {
    this.deliveryDate = deliveryDate;
}

public Date getExpirationDate() {
    return expirationDate;
}

public void setExpirationDate(Date expirationDate) {
    this.expirationDate = expirationDate;
}

public String getLodeType() {
    return lodeType;
}

public void setLodeType(String lodeType) {
    this.lodeType = lodeType;
}

public OrderAddress getDeliveryAddress() {
    return deliveryAddress;
}

public void setDeliveryAddress(OrderAddress deliveryAddress) {
    this.deliveryAddress = deliveryAddress;
}

public OrderAddress getPickupAddress() {
    return pickupAddress;
}

public void setPickupAddress(OrderAddress pickupAddress) {
    this.pickupAddress = pickupAddress;
}

public OrderStatus getStatus() {
    return status;
}

public void setStatus(OrderStatus status) {
    this.status = status;
}

@XmlTransient
public List<OrderHasParameter> getOrderHasParameterList() {
    return orderHasParameterList;
}

public void setOrderHasParameterList(List<OrderHasParameter> orderHasParameterList) {
    this.orderHasParameterList = orderHasParameterList;
}

@XmlTransient
public List<UserHasOrder> getUserHasOrderList() {
    return userHasOrderList;
}

public void setUserHasOrderList(List<UserHasOrder> userHasOrderList) {
    this.userHasOrderList = userHasOrderList;
}

@Override
public int hashCode() {
    int hash = 0;
    hash += (orderId != null ? orderId.hashCode() : 0);
    return hash;
}

@Override
public boolean equals(Object object) {
    // TODO: Warning - this method won't work in the case the id fields are not set
    if (!(object instanceof Order1)) {
        return false;
    }
    Order1 other = (Order1) object;
    if ((this.orderId == null && other.orderId != null) || (this.orderId != null && !this.orderId.equals(other.orderId))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "model.Order1[ orderId=" + orderId + " ]";
}

}
``java

Jestem ciągle jeszcze n00bem i rozwiązanie tego problemu przychodzi mi z trudnścią, please help me

edytowany 9x, ostatnio: Anntru
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:2 minuty
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
2

Przepraszam, że to nie jest odpowiedź na twój problem, chwilę szukałem błędu, ale nie widzę skąd może ten błąd się robić.
Natomiast, w Twoim kodzie ogólnie mało co widać, rak niestety totalny, ale sam piszesz, że jesteś początkujący, tak się niestety na początku pisze.
Gorszym rakiem jednak jest wybrana technologia. Twój kod da się pewnie uratować. JSF nie uratuje nic.

To naprawdę kiepski framework, a dla początkujących wręcz zabójczy.
Nawet jak naprawisz ten błąd to zaraz przyjdzie kolejny, a po całym miesiącu walki odkryjesz, że wszystko robiłeś źle i trzeba przepisać. Na JSF wykładają się zespoły całkiem doświadczonych programistów.
Lepiej przepisz teraz i omijaj jsf szerokim łukiem.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 2x, ostatnio: jarekr000000
S8
  • Rejestracja:ponad 6 lat
  • Ostatnio:7 miesięcy
  • Postów:63
0

Miałem kontakt z JSF + Primefaces jakieś 6 lat temu i popieram przedmówcę że lepiej się trzymać od tego z daleka.

  1. Co do samego problemu, to komunikat sugeruje że do jakiegoś elementu jsf/primefaces przekazujesz listę a spodziewa się boola.
  2. Czy tutaj nie brakuje otwarcia klamry?
Kopiuj
value="#commentController.comment()}"/>
  1. Nie pokazałeś co jest w tym pliku:
Kopiuj
<ui:include src="/showOrderDetails.xhtml"/>  
AN
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 5 lat
  • Postów:11
0

Ja wiem, słyszalem, że nie jest to zbyt dobra technologia i teraz sie przekonuję o tym coraz bardziej. Jednak niestety nie mogę zmienić tego na tą chwile ;/
Racja, brakowało klamry, dzięki :)

showOrderDetails wygląda tak:

Kopiuj
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">  
    <ui:composition> 
        
         <f:metadata> 
        <f:viewAction action="#{loginController.redirectOnLoggedIn()}"/> 
         </f:metadata>

          <h:form> 
                <f:event type="preRenderView" listener="#{ratingController.initRatingData()}"/>
                <f:event listener="#{order1Controller.initUserOrderList()}" type="preRenderView" />
            </h:form> 


        <p:dialog width="50%" height="100%" widgetVar="showOrderDetails" resizable="false" modal="true" showEffect="fade" hideEffect="fade" >                                        
            <p:outputPanel id="orderDetails"> 
                <p:panelGrid columns="2" rendered="#{order1Controller.userOrderList}">
<!--            <h:form>  
                <p:dataScroller value="#{order1Controller.userOrderList}"  var="car" chunkSize="50">-->
                    <f:facet name="header">
                        <h4><h:outputText value="Oferty" style="font-size: 20px"/></h4>
                    </f:facet>

<!--                    <div style="margin: 2%"> 
                        <h:outputText value="Odbiór" style="font-weight: bold; font-size: 24px; margin-top: 5%!important"/>  
                        <div >--> 
                        <div>
                            <h:outputText value="Z: " style="font-weight: bold"/>  
                            <h:outputText value="#{list.pickupAddress.country}" style="font-weight: bold" /><br/><br/>
<!--                            <h:outputText value="#{list.pickupAddress.town}" style="font-size: small"/><br/>
                            <h:outputText value="#{list.pickupAddress.zipCode}" style="font-size: small"/>-->
<!--                        </div>-->
                      
                            <h:outputText value="Kiedy: " style="font-weight: bold"/>  
                            <h:outputText value="#{list.pickupDate}" style="font-size: small"/>
                        </div>
<!--                    </div> -->


                    <div style="margin: 2%">
                        <h:outputText value="Dostawa" style="font-weight: bold; font-size: 24px; margin-top: 5%!important"/>  
                        <div>
                            <h:outputText value="Do: " style="font-weight: bold"/>
                            <h:outputText value="Grażyny 13, 62-040 Poznań"/>  
                        </div>
                    </div>  

                    <div style="margin: 2%">
                        <h:outputText value="Trasa" style="font-weight: bold; font-size: 18px; margin-top: 5%!important"/>  
                        <div>
                            <h:outputText value="340 km"/> 
                        </div>
                    </div>  

                    <div style="margin: 2%">
                        <h:outputText value="Informacje o przesyłce" style="font-weight: bold; font-size: 18px; margin-top: 5%!important"/>  
                        <div>
                            <h:outputText value="Szafa dwudrzwiowa"/>  
                        </div> 
                        <div>
                            <h:outputText value="Wymiary: " style="font-weight: bold"/><h:outputText value="80 x 40 x 190 cm"/>   
                            <p:spacer width="20"/>

                            <h:outputText value="Waga: " style="font-weight: bold"/> <h:outputText value="40kg/ 1szt."/> 
                        </div> 
                        <div>
                            <h:outputText value="Budżet: " style="font-weight: bold"/><h:outputText value="150.00 PLN"/>
                        </div>
                    </div> 

                    <!--                <h:panelGrid styleClass="panelGridCenter" style="margin: 2%; float: left">
                                        <p:inputText id="msg" value="" required="true" placeholder="Odpowiedz..." />   
                                          <p:commandButton value="Dodaj" />    
                                    </h:panelGrid> -->


<!--                                </p:outputPanel> -->
<!--
                    <h:outputText value="Oferty" style="font-size: 20px; font-weight: bold; margin: 2%"/>
                    <p:panelGrid columns="3" layout="grid" >   
                        <p:column style="width: 25%;  margin-right: 10%">
                            <h:outputText value="100 PLN" style="font-weight: bold; width: 25%;" />  
                        </p:column> 
                        <p:column style="width: 50%">
                            <h:outputText value="Witam, załadunek możliwy do 3 dni od zaakceptowania oferty. Pozdrawiam" style="width: 50%" />  
                        </p:column> 
                        <p:column style="width: 25%">
                            <h:outputText value="Piotr1980" style="font-weight: bold; width: 25%" />  
                        </p:column> 

                        <p:inputText id="comment" value="" required="true" placeholder="Komenatarz" style="float: left; margin: 2%; width: 50%" />  
                    </p:panelGrid> -->
                </p:panelGrid>

<!--                </p:dataScroller> -->
<!--            </h:form>--> 
            </p:outputPanel>
        </p:dialog> 


    </ui:composition> 
</html>  

Do pewnego momentu myOrders działało poprawnie, tylko showOrderDetails się wywalało, nagle zaczął pojawiać się błąd już przy myOrders gdzie nic nie było zmieniane.

S8
  • Rejestracja:ponad 6 lat
  • Ostatnio:7 miesięcy
  • Postów:63
2

Czy rendered nie ma przyjmować boola?

Kopiuj
<p:panelGrid columns="2" rendered="#{order1Controller.userOrderList}">

Pewnie chciałeś sprawdzić czy lista jest niepusta :)

Kopiuj
<p:panelGrid columns="2" rendered="#{not empty order1Controller.userOrderList}">
edytowany 2x, ostatnio: Seti87
jarekr000000
Wygląda na bardzo rozsądny trop. Dowcip tylko skąd ten vector :-), ale może sobie primefaces przerabia liste.
AN
Dokładnie, ten vector mnie zmylił i zgłupiałem, szukałem w ogóle gdzie indziej. Seti87 dzięki wielkie! :) 100 lat bym siedział i nie wymyślił.
SP
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 2 lata
  • Postów:127
0

Może Vector przez te przestarzałe nejmspejsy?
https://jsflive.wordpress.com/2013/05/16/jsf22-namespaces/

S8
Oprócz sprawdzenia JSF, pewnie drugi trop to sprawdzenie jaka kolekcja jest zwracana tutaj: "orderList = order1Service.userOrderList();"
AN
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 5 lat
  • Postów:11
0
Seti87 napisał(a):

Czy rendered nie ma przyjmować boola?

Kopiuj
<p:panelGrid columns="2" rendered="#{order1Controller.userOrderList}">

Pewnie chciałeś sprawdzić czy lista jest niepusta :)

Kopiuj
<p:panelGrid columns="2" rendered="#{not empty order1Controller.userOrderList}">

Dokładnie o to chodziło! Wielkie dzięki :)

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)