fixed bugs added client
This commit is contained in:
parent
9064a0a9a5
commit
c04a69a735
|
|
@ -2,6 +2,8 @@ package eu.csc.ODPAppVehOwnServer.persistence.services.storage;
|
|||
|
||||
import eu.csc.ODPAppVehOwnServer.models.VehicleBrandDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.VehicleModelDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.data.LanguageDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.data.PropulsionTypeDto;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.GsonService;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.StorageService;
|
||||
|
||||
|
|
@ -16,6 +18,7 @@ public class MetaDataStorageService {
|
|||
private static final String FILENAME_PROPULSION_TYPE = "propulsionTypes.json";
|
||||
private static final String FILENAME_BRANDS = "brands.json";
|
||||
private static final String FILENAME_DEVICES = "devices.json";
|
||||
private static final String FILENAME_LANGUAGES = "languages.json";
|
||||
|
||||
private static final String FOLDER_MODELS = "models";
|
||||
|
||||
|
|
@ -29,6 +32,9 @@ public class MetaDataStorageService {
|
|||
public List<VehicleBrandDto> openBrands() throws FileNotFoundException {
|
||||
return openBrands(FILENAME_BRANDS);
|
||||
}
|
||||
public List<LanguageDto> openLanguages() throws FileNotFoundException {
|
||||
return openLanguages(FILENAME_LANGUAGES);
|
||||
}
|
||||
|
||||
|
||||
public List<VehicleModelDto> openModels(String brand) throws FileNotFoundException {
|
||||
|
|
@ -42,4 +48,17 @@ public class MetaDataStorageService {
|
|||
|
||||
return gsonService.readJson(gsonService.getTypeTokenList(), storageService.load(filename).toFile());
|
||||
}
|
||||
|
||||
public List<LanguageDto> openLanguages(String filename) throws FileNotFoundException {
|
||||
|
||||
return gsonService.readJson(gsonService.getTypeTokenList(), storageService.load(filename).toFile());
|
||||
}
|
||||
|
||||
public List<PropulsionTypeDto> openPropulsionTypes() throws FileNotFoundException {
|
||||
return openPropulsionTypes(FILENAME_PROPULSION_TYPE);
|
||||
}
|
||||
public List<PropulsionTypeDto> openPropulsionTypes(String filename) throws FileNotFoundException {
|
||||
return gsonService.readJson(gsonService.getTypeTokenList(), storageService.load(filename).toFile());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,5 +2,9 @@
|
|||
{
|
||||
"brandId": "ford",
|
||||
"name": "Ford"
|
||||
},
|
||||
{
|
||||
"brandId": "audi",
|
||||
"name": "Audi"
|
||||
}
|
||||
]
|
||||
|
|
@ -2,5 +2,9 @@
|
|||
{
|
||||
"propulsionId": "petrol",
|
||||
"name": "Petrol"
|
||||
},
|
||||
{
|
||||
"propulsionId": "gasol",
|
||||
"name": "Gasoline"
|
||||
}
|
||||
]
|
||||
|
|
@ -26,6 +26,8 @@ public class PropulsionTypeEntity extends AbstractEntity {
|
|||
private String name;
|
||||
|
||||
|
||||
|
||||
|
||||
public PropulsionTypeEntity(String propulsionId, String name) {
|
||||
this.typeId = propulsionId;
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,5 +11,7 @@ import java.util.Optional;
|
|||
public interface PropulsionTypeRepository extends JpaRepository<PropulsionTypeEntity, Long> {
|
||||
|
||||
|
||||
Optional<PropulsionTypeEntity> findByTypeId(String propulsionId);
|
||||
|
||||
PropulsionTypeEntity getByTypeId(String propulsionId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,8 @@ public class CustomerService {
|
|||
|
||||
user.setEmail(email);
|
||||
user.setPassword(password);
|
||||
user.setFirstname(firstname);
|
||||
user.setLastname(lastname);
|
||||
|
||||
return user;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package eu.csc.ODPAppVehOwnServer.persistence.services;
|
||||
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.LanguageEntity;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.PropulsionTypeEntity;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.respository.LanguageRepository;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.respository.PropulsionTypeRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -13,11 +15,23 @@ public class DataService {
|
|||
@Autowired
|
||||
private LanguageRepository languageRepository;
|
||||
|
||||
@Autowired
|
||||
private PropulsionTypeRepository propulsionTypeRepository;
|
||||
|
||||
|
||||
public List<LanguageEntity> getLanguages(){
|
||||
return languageRepository.findAll();
|
||||
}
|
||||
|
||||
public List<PropulsionTypeEntity> getPropulsionTypes(){
|
||||
return propulsionTypeRepository.findAll();
|
||||
}
|
||||
|
||||
public LanguageEntity getOrAddLanguage(String locale, String name){
|
||||
return getOrAddLanguage(locale,name, false);
|
||||
}
|
||||
|
||||
|
||||
public LanguageEntity getOrAddLanguage(String locale, String name, boolean isDefault){
|
||||
|
||||
LanguageEntity languageEntity;
|
||||
|
|
@ -30,4 +44,16 @@ public class DataService {
|
|||
|
||||
return languageEntity;
|
||||
}
|
||||
|
||||
public PropulsionTypeEntity getOrCreatePropulsionType(String propulsionId, String name) {
|
||||
PropulsionTypeEntity entity;
|
||||
if(propulsionTypeRepository.findByTypeId(propulsionId).isPresent())
|
||||
entity =propulsionTypeRepository.getByTypeId(propulsionId);
|
||||
else{
|
||||
entity = new PropulsionTypeEntity(propulsionId, name);
|
||||
propulsionTypeRepository.save(entity);
|
||||
}
|
||||
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1
pom.xml
1
pom.xml
|
|
@ -56,7 +56,6 @@
|
|||
<artifactId>spring-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-mail</artifactId>
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ public abstract class AbstractRestController {
|
|||
return new ResponseEntity<>(ErrorResultDto.get(ex), HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
|
||||
@ExceptionHandler(EntityExistsException.class)
|
||||
public ResponseEntity<?> handleEntityExistsException(EntityExistsException ex) {
|
||||
return ResponseEntity.status( HTTP_STATUS_EXISTS).body(ErrorResultDto.get(ex));
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class CustomerController extends AbstractRestController {
|
|||
@PostMapping
|
||||
@RequestMapping("/vehicle/unregister/{vin}")
|
||||
public ResponseEntity<MessageDto> registerCustomerVehicle(@PathVariable String vin){
|
||||
|
||||
logger.info("unregistering vin from customer");
|
||||
boolean done =customerService.unregisterVehicle(getLoggedInWebUserId(), vin);
|
||||
|
||||
return getSuccessResponse(new MessageDto(42, "deleted: " + done));
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package eu.csc.ODPAppVehOwnServer.controller.registration;
|
||||
|
||||
import eu.csc.ODPAppVehOwnServer.controller.AbstractRestController;
|
||||
import eu.csc.ODPAppVehOwnServer.models.auth.AuthenticationRequest;
|
||||
import eu.csc.ODPAppVehOwnServer.services.AuthenticationService;
|
||||
import org.springframework.http.HttpStatus;
|
||||
|
|
@ -14,7 +15,7 @@ import javax.persistence.EntityNotFoundException;
|
|||
* @see
|
||||
*/
|
||||
|
||||
public class AuthenticationController {
|
||||
public class AuthenticationController extends AbstractRestController {
|
||||
|
||||
private AuthenticationService authenticationService;
|
||||
|
||||
|
|
@ -27,8 +28,5 @@ public class AuthenticationController {
|
|||
return new ResponseEntity<>(authenticationService.generateJWTToken(request.getUsername(), request.getPassword()), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ExceptionHandler(EntityNotFoundException.class)
|
||||
public ResponseEntity handleEntityNotFoundException(EntityNotFoundException ex) {
|
||||
return new ResponseEntity<>(ex.getMessage(), HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -74,8 +74,6 @@ public class CustomerClientTester extends AbstractClientTester{
|
|||
|
||||
System.out.println(result2.errorBody().string());
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
package eu.csc.ODPAppVehOwnServer.shell;
|
||||
|
||||
import eu.csc.ODPAppVehOwnServer.models.VehicleBrandDto;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.DeviceService;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.GsonService;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.StorageService;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.VehicleService;
|
||||
import eu.csc.ODPAppVehOwnServer.models.data.LanguageDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.data.PropulsionTypeDto;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.*;
|
||||
import eu.csc.ODPAppVehOwnServer.persistence.services.storage.MetaDataStorageService;
|
||||
import lombok.var;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -27,6 +26,8 @@ public class InfoCommands extends BaseCommands{
|
|||
|
||||
@Autowired
|
||||
private DeviceService deviceService;
|
||||
@Autowired
|
||||
private DataService dataService;
|
||||
|
||||
@Autowired
|
||||
private GsonService gsonService;
|
||||
|
|
@ -62,21 +63,37 @@ addMessageString(storageService.load("").toAbsolutePath().toString());
|
|||
@ShellMethod(value = "import Content", key = {"i_im"})
|
||||
public String doImport(@ShellOption(defaultValue = ShellOption.NULL) String location) throws FileNotFoundException {
|
||||
|
||||
if(this.metaDataStorageService == null){
|
||||
if(location == null)
|
||||
return "LOCATION NEEDED";
|
||||
else
|
||||
setFolderDir(location);
|
||||
|
||||
List<VehicleBrandDto> brands = null;
|
||||
}
|
||||
else if(location !=null)
|
||||
setFolderDir(location);
|
||||
|
||||
if(location == null)
|
||||
brands = metaDataStorageService.openBrands();
|
||||
else
|
||||
brands = metaDataStorageService.openBrands(location);
|
||||
List<LanguageDto> languages = metaDataStorageService.openLanguages();
|
||||
List<VehicleBrandDto> brands = metaDataStorageService.openBrands();
|
||||
List<PropulsionTypeDto> propulsionTypes = metaDataStorageService.openPropulsionTypes();
|
||||
|
||||
for (var propType:propulsionTypes
|
||||
) {
|
||||
dataService.getOrCreatePropulsionType(propType.getPropulsionId(), propType.getName());
|
||||
}
|
||||
|
||||
for (var language:languages
|
||||
) {
|
||||
if (language.getId().equals("en"))
|
||||
dataService.getOrAddLanguage(language.getId(), language.getName(), true);
|
||||
else
|
||||
dataService.getOrAddLanguage(language.getId(), language.getName());
|
||||
|
||||
}
|
||||
|
||||
for (var brand:brands
|
||||
) {
|
||||
vehicleService.addVehicleIfNotExists(brand.getBrandId(), brand.getName());
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,17 @@
|
|||
package eu.csc.ODPAppVehOwnServer.shell;
|
||||
|
||||
|
||||
import eu.csc.ODPAppVehOwnServer.models.VehicleBrandDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.data.LanguageDto;
|
||||
import org.springframework.shell.standard.ShellComponent;
|
||||
import org.springframework.shell.standard.ShellMethod;
|
||||
import org.springframework.shell.standard.ShellOption;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.List;
|
||||
|
||||
@ShellComponent
|
||||
public class InitCommands extends BaseCommands{
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
package eu.csc.ODPAppVehOwnServer;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
public class CustomJavaMailSender{
|
||||
|
||||
@Bean
|
||||
public JavaMailSender getJavaMailSender() {
|
||||
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
|
||||
mailSender.setHost("smtp.gmail.com");
|
||||
mailSender.setPort(587);
|
||||
|
||||
mailSender.setUsername("my.gmail@gmail.com");
|
||||
mailSender.setPassword("password");
|
||||
|
||||
Properties props = mailSender.getJavaMailProperties();
|
||||
props.put("mail.transport.protocol", "smtp");
|
||||
props.put("mail.smtp.auth", "true");
|
||||
props.put("mail.smtp.starttls.enable", "true");
|
||||
props.put("mail.debug", "true");
|
||||
|
||||
return mailSender;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -23,7 +23,6 @@ public interface IDataClient {
|
|||
List<VehicleModelDto> listVehicleModels() throws IOException;
|
||||
List<VehicleModelDto> listVehicleModels(String brand) throws IOException;
|
||||
|
||||
|
||||
//region Customer
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package eu.csc.ODPAppVehOwnServer.client.service;
|
||||
|
||||
import eu.csc.ODPAppVehOwnServer.models.MessageDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.regist.CustomerDeviceDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.regist.CustomerVehicleDto;
|
||||
import eu.csc.ODPAppVehOwnServer.models.regist.UserVehicleRegistrationDto;
|
||||
|
|
@ -22,7 +23,8 @@ public interface CustomerService {
|
|||
Call<CustomerVehicleDto> registerUserVehicle(@Body UserVehicleRegistrationDto body);
|
||||
|
||||
|
||||
|
||||
@POST("/api/vehicle/unregister/{vin}")
|
||||
Call<MessageDto> unregisterVehicle(@Path(value = "vin") String vin);
|
||||
|
||||
@GET("/api/reg/devices")
|
||||
Call<List<CustomerDeviceDto>> listCustomerDevices();
|
||||
|
|
|
|||
Loading…
Reference in New Issue