Java com jsf

bom dia amigos, sou estudante de java, e estou exercitando , estou tentando fazer um cadastro de clientes com Java e JSF, sem banco de dados por enquanto, no meu projeto estou pegando um cliente do tipo Pessoa Física, eu criei uma Class, Pessoa Física, uma Classe Pessoa Jurídica com seus atributos, uma Class Endereço e uma Cliente. vou mandar o codigo abaixo, o Detalhe é, eu nao estou conseguindo fazer meu Bean setar os atributos da Class cliente,endereço etc.
codigo:

package model;

import java.io.Serializable;

public class Cliente implements Serializable {

private Long codigo;
private PessoaFisica pessoaFisica;
private Pessoajuridica pessoaJuridica;
private Endereco endereco;
private String email;
private String telefone;
private TipoPessoa tipo;

public String getTelefone() {
	return telefone;
}
public void setTelefone(String telefone) {
	this.telefone = telefone;
}

public void setTipo(TipoPessoa tipo) {
	this.tipo = tipo;
}
public TipoPessoa getTipo() {
	return tipo;
}

public Long getCodigo() {
	return codigo;
}
public void setCodigo(Long codigo) {
	this.codigo = codigo;
}
public PessoaFisica getPessoaFisica() {
	return pessoaFisica;
}
public void setPessoaFisica(PessoaFisica pessoaFisica) {
	this.pessoaFisica = pessoaFisica;
}
public Pessoajuridica getPessoaJuridica() {
	return pessoaJuridica;
}
public void setPessoaJuridica(Pessoajuridica pessoaJuridica) {
	this.pessoaJuridica = pessoaJuridica;
}
public Endereco getEndereco() {
	return endereco;
}
public void setEndereco(Endereco endereco) {
	this.endereco = endereco;
}
public String getEmail() {
	return email;
}
public void setEmail(String email) {
	this.email = email;
}

}

//// classe pessoafisica

package model;

import java.io.Serializable;

public class PessoaFisica implements Serializable {
private String nome;
private String cpf;
private String rg;
private String sexo;

public String getSexo() {
	return sexo;
}
public void setSexo(String sexo) {
	this.sexo = sexo;
}	

public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getCpf() {
	return cpf;
}
public void setCpf(String cpf) {
	this.cpf = cpf;
}
public String getRg() {
	return rg;
}
public void setRg(String rg) {
	this.rg = rg;
}

}

/// meu Bean
package bean;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;

import model.Cliente;
import model.PessoaFisica;
import model.TipoPessoa;

@ManagedBean(name = “cli_bean”)
@ViewScoped

public class ClienteBean implements Serializable {

Cliente cliente = new Cliente();
	
public Cliente getCliente() {
	return cliente;
}

public TipoPessoa[] getTipoPessoas(){
	return TipoPessoa.values();
	
}

public void cadastra(){
	String msg = "Cadastro Realizado com Sucesso!";		
		System.out.println("Tipo do Cliente: "+cliente.getTipo().getOpcao());
		System.out.println("Código: "+ cliente.getCodigo());
		System.out.println("Nome: "+cliente.getPessoaFisica().getNome().toString());
		System.out.println("Sexo: "+cliente.getPessoaFisica().getSexo().toString());
		System.out.println("CPF: "+cliente.getPessoaFisica().getCpf().toString());
		System.out.println("");
		System.out.println("");
		System.out.println("");
		System.out.println("");		
	
	FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg));
}	

}

//// meu xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<title>Cliente</title>

</h:head>
<h:body>

<h:form id="frmCli">
	<h1 style="color:red; text-align:center; font-size: 20">Cadastro de Cliente</h1>

	<h:panelGrid id="Grid_cli" columns="4" styleClass="tela">
		<h:outputLabel value="Tipo do Cliente:" />
		<h:panelGroup>
			<h:selectOneMenu value="#{cli_bean.cliente.tipo}" >
				<f:selectItems value="#{cli_bean.tipoPessoas}" var="tipoPessoa" itemLabel="#{tipoPessoa.opcao}"/>
			</h:selectOneMenu>
		</h:panelGroup>

		<h:outputLabel value="Código:" />
		<h:inputText id="codigo" size="05" value="#{cli_bean.cliente.codigo}" />
		<h:outputLabel value="Nome:" />
		<h:inputText id="nome" size="30" value="#{cli_bean.cliente.pessoaFisica.nome}"  />
		<h:outputLabel value="Apelido/Nome Fantasia:" />
		<h:inputText id="apelido" size="30"  />

		<h:outputLabel value="Sexo:" />
		<h:panelGroup>
			<h:selectOneRadio id="sel_sexo"  value="#{cli_bean.cliente.pessoaFisica.sexo}">
				<f:selectItem  itemValue="Masculino" itemLabel="Masculino" />
				<f:selectItem  itemValue="Feminino" itemLabel="Femino"/>
			</h:selectOneRadio>
		</h:panelGroup>
		<h:outputLabel />
		<h:outputLabel />

		<h:outputLabel value="CPF/CNPJ:" />
		<h:inputText id="cpf" size="20" value ="#{cli_bean.cliente.pessoaFisica.cpf}" />
		<h:outputLabel value="RG/Insc. Estadual: " />
		<h:inputText id="rg" size="15"  />

		<h:outputLabel value="Endereço: " />
		<h:inputText id="logradouro" size="30" />
		<h:outputLabel value="Bairro:" />
		<h:inputText id="bairro" size="30" maxlength="50" />

		<h:outputLabel value="Cidade:" />
		<h:inputText id="cidade" size="30" maxlength="50" />
		<h:outputLabel value="UF:" />
		<h:inputText id="uf" size="05" maxlength="2" />

		<h:outputLabel value="Referência:" />
		<h:inputText id="ref" size="30" />
		<h:outputLabel value="E-mail:" />
		<h:inputText id="email" size="30" value="#{cli_bean.cliente.email}" />

		<h:outputLabel value="Telefone:" />
		<h:inputText id="fone" size="20" value="#{cli_bean.cliente.telefone}" />
		<h:outputLabel />
		<h:outputLabel />

	</h:panelGrid>
		<br/>

	<h:commandButton value="Cadastra" action="#{cli_bean.cadastra}" />
	<h:commandButton value="Limpar" />

</h:form>

</h:body>

da erro por exemplo aki.
<h:outputLabel value=“CPF/CNPJ:” />
<h:inputText id=“cpf” size=“20” value ="#{cli_bean.cliente.pessoaFisica.cpf}" />

estou faendo o que de errado. eu quero pegar a pessoa fisica da class cliente.

pesquisei aki e ja consegui… rsrs