Skip to content

pedonline/DigiSign-AuditLog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DigiSign-AuditLog

DigiSign-AuditLog is a web application framework for Digital Signature on Audit Log in Database, It support on JSF Framework and Hibernate Framework.

Usage

DigiSign-AuditLog is an open source project.

Hibernate Model

@Entity
@Table(name = "Person")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "personID")
public class Person implements IAuditLog {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "PersonID", unique = true, nullable = false)
	@JsonManagedReference
	private Integer PersonID;

	@Column(name = "Name")
	private String Name;

	@Transient
	@Override
	public Long getId() {
		return this.PersonID.longValue();
	}

	@Transient
	@Override
	public byte[] getLogDeatil() {
		return IAuditLog.getJsonByteLogDeatil(this);
	}

	@Transient
	@Override
	public String getEmbeddedId() {
		return this.PersonID.toString();
	}
}

Hibernate SessionFactory

public static Session getSession(AuditLogInterceptor ae_EmptyInterceptor) throws HibernateException {
	Session HS = sessionFactory.withOptions().interceptor(ae_EmptyInterceptor).openSession();
	return HS;
}

JSF ManagedBean

@ManagedBean(name = "personEdit")
@ViewScoped
public class PersonEdit extends DigiSignManageBeanTemplate implements Serializable {
	private String className;
	private String Name;

	public PersonEdit() {
		// Constructor
	}
	
	@Override
	public String saveAction() {
		String methodName = "saveAction";
		//SaveAction
		return "person_v";
	}
}

ManagedBean : Open Session DigiSign AuditLog

//Open DigiSign AuditLog Session
DigiSignInformation lo_DigiSignInformation  = this.getDigiSignInformation();		
AuditLogInterceptor interceptor = new AuditLogInterceptor();			
interceptor.setAlias(lo_DigiSignInformation.getDigisignAlias());
interceptor.setOTKSign(lo_DigiSignInformation.getDigisignOTK());		
interceptor.setOTK(lo_DigiSignInformation.getOTK());		
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
InputStream in = new ByteArrayInputStream(Base64.decodeBase64(
	lo_DigiSignInformation.getDigisignCertificate()));
X509Certificate digisigncert = (X509Certificate)certFactory.generateCertificate(in);
interceptor.setCertificate(digisigncert);
Session MyHSs = DSPOHrmModelUtil.getSession(interceptor);			

ManagedBean : Save Object by DigiSign AuditLog Session

//Save Person
Transaction MyHTs = MyHSs.beginTransaction();							
try {
	Person lo_Person = new Person();
	lo_Person.setName(this.Name);			
	PersonDAO.Add(MyHSs, lo_Person, LoginUser);
	MyHTs.commit();
} catch (Exception ex) {
	MyHTs.rollback();
}finally {
	MyHSs.close();
}				

XHTML : Add & Edit Page

<p:commandButton id="save" value="save" actionListener="#{digiSignDialog.DialogchooseOpen}" immediate="true"  >
	<f:ajax execute="@form" render="@form" />
	<p:ajax event="dialogReturn" listener="#{personEdit.onSignAction}" update=":form" />
</p:commandButton>

XHTML : View Page

<h:panelGrid columns="2">
	<h:graphicImage id="img_correct" widgetVar="img_correct" value ="/resources/image_new/img_correct_3.png" width="50" rendered="#{personEdit.CBIPerson.isEntityValid}"/>
	<h:graphicImage id="img_wrong" widgetVar="img_wrong" value ="/resources/image_new/img_wrong.png" width="50" rendered="#{!personEdit.CBIPerson.isEntityValid}"/>
	<h:panelGroup >
	<p:fieldset legend="Audit Log" rendered="#{not empty personEdit.CBIPerson.digiSignVerifyInfomationList}">	
	<p:dataTable id="digisigntablelist" value="#{personEdit.CBIPerson.digiSignVerifyInfomationList}" var="digisigndatalist" 
		paginator="true" rowIndexVar="rowIndex" rowKey="#{digisigndatalist.auditLogId}" 
		currentPageReportTemplate="Total {totalRecords} ">
		<p:column headerText="Order">
			<h:outputText value="#{rowIndex+1}" />
		</p:column>
		<p:column headerText="Audit Log Status">
			<h:graphicImage id="img2_correct" widgetVar="img2_correct" value ="/resources/image_new/img_correct_3.png" width="20" rendered="#{digisigndatalist.verified}"/>
			<h:graphicImage id="img2_wrong" widgetVar="img2_wrong" value ="/resources/image_new/img_wrong.png" width="20" rendered="#{!digisigndatalist.verified}"/>
		</p:column>
		<p:column headerText="Name">
			<h:outputText value="#{digisigndatalist.signName}" />
		</p:column>
		<p:column headerText="Sign Date">
			<h:outputText value="#{digisigndatalist.signDate}" />
		</p:column>
		<p:column headerText="Subject">
			<h:outputText value="#{digisigndatalist.certificateDetail.subject}" />
		</p:column>
	</p:dataTable>				        				
	</p:fieldset>	
	</h:panelGroup>
</h:panelGrid>

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages