Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# NetBeans specific #
simple-blog/nbproject/
simple-blog/nbproject/private/
simple-blog/build/
simple-blog/nbbuild/
simple-blog/dist/
simple-blog/nbdist/
simple-blog/nbactions.xml
simple-blog/nb-configuration.xml

# Class Files #
*.class
71 changes: 71 additions & 0 deletions simple-blog/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- You may freely edit this file. See commented blocks below for -->
<!-- some examples of how to customize the build. -->
<!-- (If you delete it and reopen the project it will be recreated.) -->
<!-- By default, only the Clean and Build commands use this build script. -->
<!-- Commands such as Run, Debug, and Test only use this build script if -->
<!-- the Compile on Save feature is turned off for the project. -->
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
<!-- in the project's Project Properties dialog box.-->
<project name="simple-blog" default="default" basedir=".">
<description>Builds, tests, and runs the project simple-blog.</description>
<import file="nbproject/build-impl.xml"/>
<!--

There exist several targets which are by default empty and which can be
used for execution of your tasks. These targets are usually executed
before and after some main targets. They are:

-pre-init: called before initialization of project properties
-post-init: called after initialization of project properties
-pre-compile: called before javac compilation
-post-compile: called after javac compilation
-pre-compile-single: called before javac compilation of single file
-post-compile-single: called after javac compilation of single file
-pre-compile-test: called before javac compilation of JUnit tests
-post-compile-test: called after javac compilation of JUnit tests
-pre-compile-test-single: called before javac compilation of single JUnit test
-post-compile-test-single: called after javac compilation of single JUunit test
-pre-dist: called before archive building
-post-dist: called after archive building
-post-clean: called after cleaning build products
-pre-run-deploy: called before deploying
-post-run-deploy: called after deploying

Example of pluging an obfuscator after the compilation could look like

<target name="-post-compile">
<obfuscate>
<fileset dir="${build.classes.dir}"/>
</obfuscate>
</target>

For list of available properties check the imported
nbproject/build-impl.xml file.


Other way how to customize the build is by overriding existing main targets.
The target of interest are:

init-macrodef-javac: defines macro for javac compilation
init-macrodef-junit: defines macro for junit execution
init-macrodef-debug: defines macro for class debugging
do-dist: archive building
run: execution of project
javadoc-build: javadoc generation

Example of overriding the target for project execution could look like

<target name="run" depends="<PROJNAME>-impl.jar">
<exec dir="bin" executable="launcher.exe">
<arg file="${dist.jar}"/>
</exec>
</target>

Notice that overridden target depends on jar target and not only on
compile target as regular run target does. Again, for list of available
properties which you can use check the target you are overriding in
nbproject/build-impl.xml file.

-->
</project>
2 changes: 2 additions & 0 deletions simple-blog/src/conf/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Manifest-Version: 1.0

172 changes: 172 additions & 0 deletions simple-blog/src/java/simpleblog/DatabaseController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
package simpleblog;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import static org.apache.tomcat.jni.User.username;
import simpleblog.heroku.service.IOException_Exception;
import simpleblog.heroku.service.SimpleblogService;
import simpleblog.heroku.service.SimpleblogServiceImplService;
import simpleblog.heroku.service.User;
/**
*
* @author Luqman
*/
@ManagedBean(name="databaseController")
@SessionScoped
public class DatabaseController implements Serializable {

private User user;
private DataSource ds;
private Context initCtx;
private Context envCtx;
private Connection conn;
private PreparedStatement ps;
private User selectedUser;
private List<User> lusers;
/**
* Creates a new instance of dbTest
*/
public DatabaseController() {
System.out.println("db ctrl dibuat");
selectedUser = new User();
}
public User getSelectedUser() {
if(selectedUser == null)
selectedUser = new User();
return selectedUser;
}

public void setSelectedUser(User selectedUser) {
this.selectedUser = selectedUser;
}

public User loginValidator(String username, String password) throws IOException_Exception{
SimpleblogService service = new SimpleblogServiceImplService().getSimpleblogServiceImplPort();
setUser(service.getUser(username, password));

return getUser();
}
public User getUser() {
if(user == null)
user = new User();
return user;
}
public User intialUser(){
user = new User();
return user;
}
/**
* @param user the user to set
*/
public void setUser(User user) {
this.user = user;
}
public List<User> getUserList() throws IOException_Exception{
SimpleblogService service = new SimpleblogServiceImplService().getSimpleblogServiceImplPort();
List<User> list = new ArrayList<User>();
list = service.getUserList();
return list;
}
public void add() throws SQLException{
try {
initCtx = new InitialContext();
envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/simpleBlogDb");
} catch (NamingException e) {
}
if(ds==null)
throw new SQLException("Can't get data source");

//get database connection
conn = ds.getConnection();
if(conn==null)
throw new SQLException("Can't get database connection");
else{
ps = conn.prepareStatement("INSERT INTO user (username,name,email,password,role) VALUES('"+user.getUsername()+"','"+user.getName()+"','"+user.getEmail()+"','"+user.getPassword()+"','"+user.getRole()+"')");
ps.executeUpdate();
conn.close();
ps.close();}
System.out.println("Berhasil");
user = null;
}


public void delete() throws SQLException{
try {
initCtx = new InitialContext();
envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/simpleBlogDb");
} catch (NamingException e) {
}
if(ds==null)
throw new SQLException("Can't get data source");

//get database connection
conn = ds.getConnection();
if(conn==null)
throw new SQLException("Can't get database connection");
else{
ps = conn.prepareStatement("DELETE FROM user WHERE id = "+selectedUser.getId()+"");
ps.executeUpdate();
conn.close();
ps.close();}
System.out.println("Berhasil");
}
public void update() throws SQLException{
try {
initCtx = new InitialContext();
envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/simpleBlogDb");
} catch (NamingException e) {
}
if(ds==null)
throw new SQLException("Can't get data source");

//get database connection
conn = ds.getConnection();
if(conn==null)
throw new SQLException("Can't get database connection");
else{
ps = conn.prepareStatement("UPDATE user SET email='"+selectedUser.getEmail()+"',username='"+selectedUser.getUsername()+"',name='"+selectedUser.getName()+"',password='"+selectedUser.getPassword()+"',role='"+selectedUser.getRole()+"' WHERE id = '"+selectedUser.getId()+"'");
ps.executeUpdate();
System.out.println(selectedUser.getName());
conn.close();
ps.close();}
System.out.println("Berhasil");
}
public void settingSelectedUser() throws IOException_Exception{
SimpleblogService service = new SimpleblogServiceImplService().getSimpleblogServiceImplPort();
selectedUser = service.getUserById(selectedUser.getId());
}

public void nullUser(){
user = new User();
user.setRole(null);
}

public void redirectTable() throws Exception{
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.redirect("faces/ShowTable.xhtml");
}
}
Loading