Skip to content

Pythonscript55 #56

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from
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
3 changes: 2 additions & 1 deletion database/init_script.sql
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,10 @@ CREATE TABLE IF NOT EXISTS Book (
);

CREATE TABLE IF NOT EXISTS BookCategory (
bookcategory_id INT NOT Null AUTO_INCREMENT,
book_id INT NOT NULL,
category_id INT NOT NULL,
PRIMARY KEY (book_id, category_id),
PRIMARY KEY (bookcategory_id, book_id, category_id),
KEY fk_book (book_id),
KEY fk_category (category_id),
CONSTRAINT fk_book FOREIGN KEY (book_id) REFERENCES Book (book_id),
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/free_open_university/backend/bean/Book.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "book_id")
private int id;
private Long id;

@Column(name = "title")
private String title;
Expand All @@ -50,11 +50,11 @@ public class Book {

// private Category categoryList;

public int getId() {
public Long getId() {
return id;
}

public void setId(int id) {
public void setId(Long id) {
this.id = id;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package com.free_open_university.backend.bean;

import javax.persistence.*;
import java.util.Set;


@Entity
@Table(name = "BookCategory")
public class BookCategory {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "bookcategory_id")
private Long bookcategory_id;

@Column(name = "category_id")
private Long category_id;
@Column(name = "book_id")
private Long book_id;

public Long getBookCategoryId() {
return bookcategory_id;
}

public void setBookCategoryId(Long bookcategory_id) {
this.bookcategory_id = bookcategory_id;
}

public Long getCategoryId() {
return category_id;
}

public void setCategoryId(Long category_id) {
this.category_id = category_id;
}

public Long getBookId() {
return book_id;
}

public void getBookId(Long book_id) {
this.book_id = book_id;
}

// @Override
// public String toString() {
// return "BookCategory [category_id=" + category_id + ", book_id=" + book_id + "]";
// }
}
26 changes: 13 additions & 13 deletions src/main/java/com/free_open_university/backend/bean/Category.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "category_id")
private int id;
private Long id;

@Column(name = "name")
private String name;
@Column(name = "image_id")
private long imageId;
private Long imageId;

@ManyToMany(cascade = CascadeType.ALL)
@JoinTable (
Expand All @@ -33,11 +33,11 @@ public class Category {
)
private Set<Book> books;

public int getId() {
public Long getId() {
return id;
}

public void setId(int id) {
public void setId(Long id) {
this.id = id;
}

Expand All @@ -49,19 +49,19 @@ public void setName(String name) {
this.name = name;
}

public Set<Book> getBooks() {
return books;
}

public void setBooks(Set<Book> books) {
this.books = books;
}
// public Set<Book> getBooks() {
// return books;
// }
//
// public void setBooks(Set<Book> books) {
// this.books = books;
// }

public long getImageId() {
public Long getImageId() {
return imageId;
}

public void setImageId(long imageId) {
public void setImageId(Long imageId) {
this.imageId = imageId;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.free_open_university.backend.bean;

import java.io.File;
import java.io.IOException;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
import java.util.Map;

public class ExeuteShellProcessBuilder {

public static void main(String[] args) {
String[] cmd = new String[] {"src/main/resources/hello.sh"};
ProcessBuilder pb = new ProcessBuilder(cmd);
try {
File log = new File("src/main/resources/log.txt");
pb.redirectErrorStream(true);
pb.redirectOutput(ProcessBuilder.Redirect.appendTo(log));
Process p = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s = null;
while ((s = reader.readLine()) != null) {
System.out.println(s);
}
} catch (IOException e) {
// TODO auto-generated catch block
e.printStackTrace();
}
}
}
//"src/main/resources/hello.py", "src/main/resources/log.txt"
//"/home/taniya/Projects/external/openu/openu_back/website-backend/src/main/resources/hello.py"
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.free_open_university.backend.controller;

import com.free_open_university.backend.bean.Book;
import com.free_open_university.backend.bean.BookCategory;
import com.free_open_university.backend.bean.Category;
import com.free_open_university.backend.dao.BookCategoryRepository;
import com.free_open_university.backend.service.BookCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Set;

@RestController
@RequestMapping("/bookcategory")
public class BookCategoryController {

@Autowired
BookCategoryRepository bookCategoryRepository;
BookCategoryService bookCategoryService;


@GetMapping //("/bookcategory")
public List<BookCategory> getAllBookCategories()
{
return bookCategoryRepository.findAll();
}

// @GetMapping
// public List<BookCategory> getAllBookCategories(
// @RequestParam(value = "category_id", required = false) Long category_id) {
// if (category_id != null) {
// return bookCategoryService.getBooksByCategories(category_id);
// } else {
//// return bookCategoryService.getAllBookCategories();
// return bookCategoryRepository.findAll();
// }

//// This won't work because it has to be /bookcategory/{bookcategory_id}
// @GetMapping("/bookcategory/{category_id}")
// public List<BookCategory> findByIds(@PathVariable () List<Long> category_id) {
// return bookCategoryRepository.findAllById(category_id);
// }


}


Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

import com.free_open_university.backend.bean.Book;
import com.free_open_university.backend.http.Response;
import com.free_open_university.backend.repositories.BookRepository;
import com.free_open_university.backend.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;

import java.util.List;
Expand All @@ -15,6 +17,7 @@ public class BookController {

@Autowired
BookService bookService;
BookRepository bookRepository;

/* @GetMapping // todo: need another path
public Book getBookByTitle(@RequestParam(value = "title") String title) {
Expand Down Expand Up @@ -42,21 +45,51 @@ public List<Book> getBookId(
// }
}

@PostMapping
public Response addBook(@RequestBody Book newBook) {
return bookService.addBook(newBook);

@PostMapping("/addBook")
// @ResponseStatus(HttpStatus.ACCEPTED)
private Long addBook(@RequestBody Book book)

{
bookService.saveOrUpdate(book);
return book.getId();
}

@PostMapping("/batch_upload")
public Response addBookBatch(@RequestBody Set<Book> books) {
Response response = new Response();
for (Book book : books) {
response = bookService.addBook(book);
if(!response.isSuccess()) {
return response;
}
}
return new Response(true,200,"books added");
@PostMapping("/addBooks")
public List<Book> saveAllBook(@RequestBody List<Book> bookList) {
return (List<Book>) bookService.saveAllBook(bookList);
}

@DeleteMapping("/deleteBook/{book_id}")
private void deleteBook(@PathVariable("book_id") Long id)
{
bookService.delete(id);
}

// @DeleteMapping("/deleteBooks")
// public String deleteInBatch(@RequestBody List<Book> bookList) {
// bookService.deleteInBatch(bookList);
// return "All Students deleted successfully";
// }

@PutMapping("/updateBook")
private Book updateBook(@RequestBody Book book)
{
bookService.saveOrUpdate(book);
return book;
}

}


// @PostMapping("/batch_upload")
// public Response addBookBatch(@RequestBody Set<Book> books) {
// Response response = new Response();
// for (Book book : books) {
// response = bookService.addBook(book);
// if(!response.isSuccess()) {
// return response;
// }
// }
// return new Response(true,200,"books added");
// }
Original file line number Diff line number Diff line change
@@ -1,24 +1,56 @@
package com.free_open_university.backend.controller;

import com.free_open_university.backend.bean.Book;
import com.free_open_university.backend.bean.BookCategory;
import com.free_open_university.backend.bean.Category;
import com.free_open_university.backend.repositories.BookRepository;
import com.free_open_university.backend.repositories.CategoryRepository;
import com.free_open_university.backend.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Optional;
import java.util.Set;

@RestController
@RequestMapping("/category")
//@RequestMapping("/category")
public class CategoryController {

@Autowired
CategoryService categoryService;
// CategoryService categoryService;
CategoryRepository categoryRepository;
BookRepository bookRepository;

@GetMapping
public List<Category> getAllCategories() {
return categoryService.getAllCategories();
// @GetMapping
// public List<Category> getAllCategories() {
// return categoryService.getAllCategories();
// }

@GetMapping("/category")
public List<Category> getAllCategories()
{
return categoryRepository.findAll();
}

@GetMapping("/category/{id}")
public Optional<Category> getCategoryById(@PathVariable(value="id") Long id)
{
return categoryRepository.findById(id);
}

// @GetMapping("/category/{id}/books")
// public List<Category> getBooksbyCategory(@PathVariable(value="books") Long books)
// {
// return categoryRepository.findBooksByCategory(books);
// }

// @GetMapping("/category/{id}/books")
// public List<BookCategory> getBooksbyCategory(@PathVariable(value="books") Long book_id)
// {
// return categoryRepository.findBooksByCategory(book_id);
// }
}
Loading